views基础
views 常用的三个返回方法 render
HttpResponse
redirect
render
HttpResponse
一般是对页面部分数据的填充,返回部分的字符串数据
redirect
请求 url 重定向
应用场景区别
- 数据库返回的 queryset list 数据集,通过 render 渲染 templates 直接返回 html 页面
- 通过按钮调用 js 代码向 url 发送请求,然后通过 urls 定位到 views 的处理逻辑,得到需要的数据,通过 HttpResponse 返回。若是单个数据,则字符串返回,若多个数据则通过 json返回
- 请求重定向 url ,重新通过 urls 定位
admin管理页面
admin 页面用于从数读取数据,呈现在页面上进行管理。
登录
在 Terminal 创建登录用户
1 | python manage.py createsuperuser |
根据提示信息输入用户名和密码即可。
启动 django 项目的服务,访问 http://127.0.0.1:8000/admin 登录即可。
默认情况下展示 django 默认的数据库表信息django-admin-default
自定义表展示
首先创建表
demo/models.py
1 | from django.db import models |
在 Terminal 执行命令建表
1 | python manage.py makemigrations |
然后注册
demo/admin.py
1 | from django.contrib import admin |
重新访问就会显示应用 demo 新建的数据库表django-admin-demo
此时存在一个问题,选择一个表进去显示的都是 object
而不是对应的表数据,选择对应的 object 才能看到数据。django-admin-object
修改如下demo/admin.py
1 | from django.contrib import admin |
- 数据表多对多关系通过页面删除数据,将会删除所有关联数据,属于级联删除
- 注册也可以写在其他应用的 admin.py 文件中,只要应用在项目的 settings.py 注册即可。