news 2026/9/24 17:45:24

Django入门教程(二十六):博客项目实战(七)——用户系统注册、登录与登出

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 17:45:03

UA伪装进阶实战:动态UA池+浏览器指纹精准匹配,绕过现代反爬检测

最近在负责一个工业公开数据采集项目的优化工作,团队同事写的采集脚本明明加了UA轮换,却还是频繁触发目标站点的反爬机制,轻则返回403,重则直接弹出滑块验证码,IP封禁时长也越来越长。 一开始我们以为是IP代理的问题,换了好几拨代理资源都没有明显改善。直到用浏览器指纹…

作者头像 李华
网站建设 2026/9/24 17:44:34

产品经理懂点技术:前后端是如何“分家”的?

你清楚在早期的软件项目开发过程之中, 前端页面和后端业务逻辑代码其实是混合在一起, 并没有进行分离操作的吗? 那么紧接着后来业界又是因为什么样的原因促使二者走上了解绑的道路? 这种前后端分离的技术架构实施以后, 究竟为开发团队和用户带来了哪些看得见摸得着的优势与益…

作者头像 李华
网站建设 2026/9/24 17:44:32

为什么职员能工资20K?熟悉掌握了这些Python自动化办公模块

今天, 我将继续来给大家去分享一下这个自动化办公库, 而这个库是我花费了两周的时间去进行整理的。这次的这个内容, 它就是把那些库给说完了, 这些库里头, 包括了Excel、Word、PPT、ODF、PDF、邮件、微信、文件处理等所有能在办公场景实现自动化的库, 就是希望这些东西能够对大…

作者头像 李华
网站建设 2026/9/24 17:44:00

第二篇:如何安装Python并运行你的第一个程序

欢迎回到我为大家准备的入门教程系列之中!在之前的那篇文章里面, 我们曾经讨论过为什么某一个编程语言是一个值得去进行学习的对象。而到了今天这个时刻, 我们将要迈出非常重要且关键的一步, 也就是完成安装工作, 并成功地运行属于你的第一个程序项目。不论是你是使…

作者头像 李华
网站建设 2026/9/24 17:43:05

数组技术笔记

一、数组是什么 数组属于引用类型,是用来批量保存一组相同类型数据的数据结构。核心特点:数组长度一旦确定,就不可以更改。二、数组两种定义方式 方式 1:先指定长度,后面再赋值 // 格式:数据类型[] 数组名 …

作者头像 李华
网站建设 2026/9/24 17:42:16

AI大模型落地秘籍:小白程序员必备的收藏攻略,解锁企业增长新机遇!

本文深入剖析企业AI部署失败原因,指出95%的AI试点未能产生财务影响的关键在于流程对接缺失。文章强调选择高频、重复、可容错且有数据的场景至关重要,并重新排序企业AI架构层级:业务接口优先,数据中台、AI中台、技术底座依次重要。…

作者头像 李华