目录
4.在 settings.py中,设置session的相关设置
day06回顾
1.自定义查询对象
1.声明类 继承自 models.Manager
定义自定义函数
2.为实体类覆盖 objects
class Entry(models.Model):
objects = EntryManager()
2.HttpRequest
1.判断请求方式
request.method
2.获取请求提交的数据
1.get
request.GET['name']
2.post
request.POST['name']
3.获取请求消息头
request.META
request.META.HTTP_REFERER
4.提交post请求
Django对post请求需要进行一个 csrf 验证
解决方案:
1.增加 {% csrf_token %} 标签
2.删除 csrf 相关的中间件
3.将 @csrf_protect 添加到视图处理函数上
3.使用 forms 模块
1.使用 forms 模块
1.创建 forms.py
2.导入 forms 模块
from django import forms
3.创建 class,一个class对应着一个表单
class ClassName(forms.Form):
属性 :每一个属性会生成一个表单控件
forms.CharField()
forms.EmailField()
forms.IntegerField()
... ...
2.在模板中 解析 form 对象
0.注意
1.创建表单 - <form></form>
2.自定义按钮
1.手动解析
form = XXXForm()
return render(request,'xxx.html',locals())
xxx.html :
{% for field in form %}
{
{field}} : 表示的是一个控件
{
{field.label}} : 表示的是label参数值
{% endfor %}
2.自动解析
{
{form.as_p}}
{
{form.as_ul}}
{
{form.as_table}}
3.视图中通过 forms.Form 接收表单数据
1.通过 forms.Form的构造器接收数据
form = XXXForm(request.POST)
2.需要让 form 通过验证后 ,再取值
form.is_valid()
True:通过所有验证
False:未通过验证
3.获取表单数据
form.cleaned_data
1.forms模块
- forms模块的高级处理
将Models 和 Forms 结合到一起使用- 在 forms.py 中创建class,继承自 forms.ModelForm
- 创建内部类 Meta,去关联 Model
- model:指定要关联的实体类
- fields:指定从Model中取哪些字段生成控件
- 取值 '__all__