def login(request):
if request.method == "GET":
obj = LoginForm() #自动生成Html功能
return render(request, "login.html", {'oo': obj})
elif request.method == "POST":
"""
obj = LoginForm(request.POST)
# 验证
staus = obj.is_valid()
# 拿到所有的数据,只拿到正确的值
value_dict = obj.clean()
print(value_dict)
error_obj = obj.errors.as_json()
print(error_obj)
"""
obj = LoginForm(request.POST)
if obj.is_valid():
value_dict = obj.clean()
print(value_dict)
# create(**value_dict)增加到数据
else:
error_obj = obj.errors # 是一个字典,子典中对应是一个列表.每个列表中是一个字符串
print(error_obj['email'][0])
print(error_obj['user'][0])
print(type(error_obj))
return render(request, "login.html", {'oo': obj})
if request.method == "GET":
obj = LoginForm() #自动生成Html功能
elif request.method == "POST":
"""
obj = LoginForm(request.POST)
# 验证
staus = obj.is_valid()
# 拿到所有的数据,只拿到正确的值
value_dict = obj.clean()
print(value_dict)
error_obj = obj.errors.as_json()
print(error_obj)
"""
obj = LoginForm(request.POST)
if obj.is_valid():
value_dict = obj.clean()
print(value_dict)
# create(**value_dict)增加到数据
else:
error_obj = obj.errors # 是一个字典,子典中对应是一个列表.每个列表中是一个字符串
print(error_obj['email'][0])
print(error_obj['user'][0])
print(type(error_obj))
return render(request, "login.html", {'oo': obj})
class LoginForm(forms.Form):
# 模板,用户提交的name和这里的变量名一定要是一致的.否则不能获取数据
user = forms.CharField(min_length=6, error_messages={'required': '用户名不能为空', 'min_length': '用户名长度不能小于6'})
email = forms.EmailField(error_messages={'required': '邮箱不能为空', 'invalid': '邮箱格式错误'})
pass
"""
1.创建模板
2.将请求交给模板,创建一个对象
3.进行验证
4.保留上一次的数据
"""
前端和上一篇一样