用户账户
创建用户账户
注册
Django没有注册用户的视图函数和URL模式,自定义URL模式,编写视图函数和模板。
注册URL模式
在users/urls.py中导入注册函数register
from django.urls import path, include
from django.contrib.auth import views as auth_views
from .views import register
app_name = 'users'
urlpatterns = [
# path('', include('django.contrib.auth.urls')),
path('login/', auth_views.LoginView.as_view(template_name='login.html'), name='login'),
path('logout/',auth_views.LogoutView.as_view(template_name='index.html'), name='logout'),
path('register/', register, name='register'),
]
注册视图函数register
Django提供了注册用的表单django.contrib.auth.forms.UserCreationForm
包含2个密码输入字段,内嵌元类指定Django的用户模型User
。
class UserCreationForm(forms.ModelForm):
"""
A form that creates a user, with no privileges, from the given username and
password.
"""
error_messages = {
'password_mismatch': _("The two password fields didn't match."),
}
password1 = forms.CharField(
label=_("Password"),
strip=False,
widget=forms.PasswordInput,
help_text=password_validation.password_validators_help_text_html(),
)
password2 = forms.CharField(
label=_("Password confirmation"),
widget=forms.PasswordInput,
strip=False,
help_text=_("Enter the same password as before, for verification."),
)
class