Noteapp Lab 3
文章目录
项目简介
NoteApp 是一个笔记软件,采用前后端分离的开发模式。
用户可以通过网页前端注册账户,并通过注册时的信息登录。 登录后可以看到自己创建的所有笔记(notes),同时支持新建、删除、编辑笔记。
Lab 3 的内容为实现一个 NoteApp 后端的简易版。
Lab 3 具体要求
后端的样例项目在 https://github.com/truc0/noteapp-lab/tree/v1. Lab 3 完成的标志是通过所有测试样例。
运行测试
测试代码全部位于 https://github.com/truc0/noteapp-lab/blob/v1/notes/tests.py.
如果需要用到该文件中定义的函数,建议复制到项目文件中(即不要引入tests.py)。
你可以通过以下命令运行测试:
|
|
项目描述
该项目需要实现对 Note 的增删改查功能,输入和输出均使用json格式。
项目需要实现的API文档可以在openapi.yml里找到, 将其复制到Swagger中可以以可视化方式查看该文件。
在Django中,你可以使用django.http.response.JsonResponse构造一个json格式的 Response。
在Lab 3中,你可能需要将list等类型不是dict的元素作为JsonResponse的第一个参数。
在这种情况下,Django会抛出一个异常,这是因为在ECMAScript 5标准之前,返回一个数组可能导致安全问题。
然而现在大多数浏览器已经支持更高版本的ECMAScript,所以在Lab 3中我们忽略此问题。
你可以在JsonResponse中将关键字参数safe赋值为False以防止Django抛出错误,具体实现如下。
|
|
扩展练习
这个练习十分简单,但是并不能被实际应用。
尝试使用自己编写的中间件(Middleware)解决CORS和CSRF的问题。
文章作者 NIMO Web
上次更新 2022-05-04