Django 使用 UserCreationForm 来创建新用户并对用户注册信息进行校验。
1.在 views 中添加注册方法
# 用户注册表单
from django.contrib.auth.forms import UserCreationForm
# 注册
def user_register(request):
context = {}
# 展示用户注册表单
if request.method == 'GET':
form = UserCreationForm
if request.method == 'POST':
# 从用户注册表单获取用户填写的注册信息并校验
form = UserCreationForm(request.POST)
if form.is_valid():
# 储存新注册的用户信息
form.save()
return redirect(to='user_login')
context['form'] = form
return render(request, 'registerPage.html', context)
2.分配 url
from myApp.views import user_register
urlpatterns = [
# 注册页
url(r'^user_register/$', user_register, name='user_register'),
]
3.编写前端
<!DOCTYPE html>
{% load staticfiles %}
<html>
<head>
<title>user_register</title>
</head>
<body>
<!-- 填写用户注册信息的表单 -->
<form method="post" action="{% url 'user_register' %}">
{% for field in form %}
<div style="padding: 10px">
{{ field.label }}
{{ field }}
</div>
{% endfor %}
{% csrf_token %}
<button type="submit">注册</button>
</form>
<p>已有账号?请直接<a href={% url 'user_login' %}>登录</a></p>
</body>
</html>
4.测试
打开: http://127.0.0.1:8000/user_register/ ,注册功能可以使用了。
