1 Star 0 Fork 0

wjq/LearnDjango

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
notes.txt 3.56 KB
一键复制 编辑 原始数据 按行查看 历史
wjq 提交于 2022-12-04 22:25 . Initial commit
创建应用:
python manage.py startapp 应用名
将创建的应用放到apps目录中,注意取消两个勾选!
1.创建应用后,在 settings.py 注册应用(INSTALLED_APPS中,应用名.apps.应用名首字母大写Config)
2.创建应用后,在 settings.py 中修改数据库连接信息(DATABASES)(需要提前建好库)
3.创建视图(即接口):在应用的 views.py 中,完成对数据库的CRUD操作,并定义响应数据函数(request、HttpResponse、JsonResponse)
4.添加路由:在 urls.py 中定义全局路由(列表中的一个元素代表一个路由)
5.添加数据库模型类(在应用目录下的 models.py 中添加数据库模型类,并定义表字段),建立与数据库的关联
6.添加模型类对应的序列化器类,完成字段校验、序列化和反序列化操作
7.在每个应用目录下都有 admin.py,在其中做 admin站点类的定制,以及 指定admin站点可管理的数据库模型类(实现UI操作数据库表)
在settings.py中,修改语言(LANGUAGE_CODE)和时区(TIME_ZONE)
在settings.py中,修改数据库连接信息(DATABASES)
启动后端服务:
python manage.py runserver
python manage.py runserver ip:端口 # 指定ip和端口,启动后端服务
建表:
python manage.py makemigrations 应用名称 # 不加应用名称,默认对全部应用中的模型类做建表
python manage.py migrate 应用名称 # 同上
创建超级管理员:
python manage.py createsuperuser
项目需要的模块输出到requirements.txt中,方便项目部署时一次性下载:
pip freeze > requirements.txt
在项目根目录创建static文件夹后,执行静态文件收集命令(前端代码放在这里):
python manage.py collectstatic
RESTful常用的设计规则:
1.URL命名:
尽量使用名词复数形式,与数据库的表名相对应
***/projects/6/ # 6是要操作数据的id
2.过滤条件:
若记录数量过多,后端不可能将全部数据返回给前端
?page=2&size=10 # 指定返回第几页及每页的数据条数
?limit=10 # 指定返回记录的数量
?offset=10 # 指定返回记录的开始位置
?sort=name # 指定返回结果按照哪个属性排序,以及排序顺序
3.域名:尽量使用专用域名
http://api.keyou.site
4.版本:
在URL中呈现版本号 # http://api.keyou.site/app/1.1/
例子:
GET /projects/ # 获取全部项目信息
GET /projects/6/ # 获取id==6的项目信息
POST /projects/ # 创建一个新项目
PUT /projects/6/ # 修改id==6的项目信息(全更新)
PATCH /projects/6/ # 修改id==6的项目信息(部分更新)
DELETE /projects/6/ # 删除id==6的项目
GET /projects/6/interfaces/ # 获取id==6的项目中全部的接口信息
GET /projects/6/interfaces/2/ # 获取id==6的项目中id==2的接口信息
5.状态码
200 OK [GET] # 服务器成功返回用户请求的数据
201 CREATED [POST/PUT/PATCH] # 用户新建或修改数据成功
204 NO CONTENT [DELETE] # 用户删除数据成功
400 INVALID REQUEST [POST/PUT/PATCH] # 用户请求有误(请求参数有误)
401 UNAUTHORIZED # 表示用户没有权限(令牌、用户名、密码错误)
403 FORBIDDEN # 表示用户得到授权,但是被禁止访问
404 NOT FOUND # 用户请求的路径不存在
500 INTERNAL SERVER ERROR # 服务器发生错误
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/li_wing_exhibition/LearnDjango.git
git@gitee.com:li_wing_exhibition/LearnDjango.git
li_wing_exhibition
LearnDjango
LearnDjango
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385