原生Form组件缺点:
①无法记住上次提交的内容,刷新页面数据消失
②重复进行用户数据校验:正则,长度,是否为空
Django提供的Form组件可完成:
①数据验证 ②生成Html标签 ③保留上次输入内容
1. 数据验证定义规则
from django.forms import Form |
2. 生成Html标签
class LoginForm(forms.Form): |
{% for field in login_form %} |
3. 保留上次输入的内容
''' |
<form id="f1" method="post" action="/login/"> |
3. 内部原理
# 1. LoginForm实例化时, |
数据验证+保留上次输入内容,可有以下两种方式实现:
①Django ‘s Form生成Html标签+验证数据
②Ajax提交数据+Django’s Form验证数据
方法一:Django ‘s Form
class LoginForm(forms.Form): |
<form method="post"> |
Ajax+Django’s Form
class RegisterForm(Form): |
<form id="f1" method="post" action="/login/"> |