Django入门教程(二十六):博客项目实战(七)——用户系统注册、登录与登出
一、Django 内置 auth 系统Django 自带一套完整的用户认证模块:内置 User 模型(用户名、密码、邮箱等)内置登录/登出视图(无需自己写逻辑)内置的权限和组管理表单验证和安全防护(CSRF、XSS)这个模块是django.contrib.auth,在创建项目时已经默认注册到了INSTALLED_APPS。功能Django 提供需要自己写用户模型✅—登录视图✅—登出视图✅—注册视图—✅密码修改✅—权限管理✅—结论:只有注册需要自己写,登录和登出直接用内置视图。二、注册页面Django 内置了登录/登出视图,但没有内置注册视图,需要我们自己写。第一步:创建注册表单python# 文件路径:blog/forms.py(新建文件) from django import forms from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.models import User class RegisterForm(UserCreationForm): """自定义注册表单:继承 UserCreationForm,添加邮箱字段""" email = forms.EmailField( label='邮箱', required=True, help_text='请输入有效的邮箱地址。' ) class Meta: model = User fields = ['username', 'email', 'password1', 'password2'] labels = { 'username': '用户名', }UserCreationForm的优势:它已经内置了以下功能,无需自己实现:功能说明密码强度验证太简单的密码会被拒绝两次密码一致性校验password1和password2必须相同密码加密存储自动哈希,不存明文用户名唯一性校验重复用户名会报错Meta配置说明:配置项作用model = User关联 Django 内置 User 模型fields = [...]指定表单包含的字段labels = {...}自定义字段的中文标签第二步:编写注册视图python# 文件路径:blog/views.py 新增 from django.shortcuts import render, redirect from django.contrib.auth im