Django表单系统的核心组件是 Form 类。它与Django模型描述对象的逻辑结构、行为以及它呈现给我们内容的形式的方式大致相同, Form 类描述一张表单并决定它如何工作及呈现。
1.构建一张表单
#forms.py
from django import forms
class NameForm(forms.Form):
your_name = forms.CharField(label='Your name', max_length=100)
在视图函数中使用
无论用表单提交了什么数据,一旦通过调用 is_valid() 验证成功( is_valid() 返回 True ),已验证的表单数据将被放到 form.cleaned_data 字典中。这里的数据已经很好的为你转化为Python类型。
from .forms import NameForm
def name(request):
if request.method=='GET':
form=NameForm()
return render(request,'name.html',context={'form':form})
else:
# 获取Post请求所填的表单
form=NameForm(request.POST)
if form.is_valid(): #如果表单数据合法
name=form.cleaned_data.get('your_name')
# 获取表单中的数据存到数据库
nn=Name()
nn.your_name=name
nn.save()
return HttpResponse('haha')
<form action='/blog/name/' method="post">
{% csrf_token %}
{{form.as_p}}
<input type="submit" value="提交">
</form>