一、Django中的Form表单介绍
我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。
与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.。
Django form组件就实现了上面所述的功能:
生成页面可用的HTML标签
对用户提交的数据进行校验
保留上次输入内容
二、普通方式的form表单注册
1、views.py
def register(request): error_msg = "" if request.method == "POST": username = request.POST.get("username") pwd = request.POST.get("pwd") # 对注册信息做校验 if len(username) < 6: # 用户长度小于6位 error_msg = "用户名长度不能小于6位" else: # 将用户名和密码存到数据库 UserInfo.objects.create(username='username', password='pwd') return redirect("/login/") return render(request, "register.html", {"error_msg": error_msg})
2、regirest.html
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta http-equiv="content-type" charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>注册页面</title> </head> <body> <form action="/register/" method="post"> {% csrf_token %} <p> <label for="t1"></label>用户名 <input type="text" name="username" id="t1"> </p> <p> <label for="p1"></label>密码 <input type="password" name="pwd" id="p1"> </p> <p> <input type="submit" value="注册"> <p style="color: red">{{ error_msg }}</p> </p> </form> </body> </html>