使用django_registration框架实现用户的注册与激活
1、前言
本节内容是在以下环境中实现的。
python version: 3.7
Django version: 3.1.1
Django-registration version: 3.1.1
如版本不一致,可能导致配置内容不兼容而造成不能正常运行。
2、安装与配置
安装比较简单,可以在自己的虚拟环境中执行:
pip install django-registration
上面的框架安装完毕后,只要做一些设置以及修正,就可以让用户自行在网站上注册,并通过电子邮件启用自己的帐号,一切均自动化进行,不需要网站管理员另外执行操作。(当然也可以做定制。当前以学习框架为主,不做定制)
2.1 在settings.py中进行的配置
在INSTALLED_APPS中加上
'django_registration',
其他的配置有:
# 指定激活码的有效期
ACCOUNT_ACTIVATION_DAYS = 5 # Test mail functionality by printing mails to console: 配置将邮件内容显示在终端
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' # To send the mail to your email 下面是配置发送邮件到邮箱(以新浪邮箱为例)
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.sina.com'
EMAIL_PORT = 465
EMAIL_HOST_USER = 'xxxxxxsina.com'
EMAIL_HOST_PASSWORD = 'XXXXXXXXXX' # !!!这个是邮箱的授权码,而不是用户的密码!!!
DEFAULT_FROM_EMAIL = 'xxxxxx@sina.com'
EMAIL_USE_SSL = True
2.2 在urls.py中的配置
在urls.py中urlpatterns内加上以下设置:
path(r'accounts/', include('django_registration.backends.activation.urls')),
path(r'accounts/', include('django.contrib.auth.urls')),
2.3 建立django-registration需要的模板
django-registration使用的模板必须放在templates/django_registration文件夹下。需要的模板和文本文件如下表。
|
模板或文件名 |
用途 |
| registration_form.html | 显示注册窗体的网页,默认使用form变量作为窗体各字段的内容 |
| registration_complete.html | 填写完注册信息后,单击“提交”按钮后显示的信息页面 |
| activation_complete.html | 当帐号完成启用(激活)时显示的页面 |
| activate.html | 当帐号启用(激活)失败时显示的页面 |
| activation_email_body.txt | 在发送启用(激活)电子邮件时使用的邮件内容 |
| activation_email_subject.txt | 在发送启用(激活)电子邮件时的邮件主题 |
其中后面两个txt是纯文本文件,分别是邮件内容和邮件主题。
activation_email_body.txt的内容示例如下:
用户: {{ user }}
请点击链接(或拷贝到浏览器地址栏内):
http://{{site}}/accounts/activate/{{activation_key}}
激活链接将在{{ expiration_days }}内有效。
其它的html文件的内容,可以根据自己的需要来编写。
关于django-registration的官方文档,可以在 https://django-registration.readthedocs.io/en/3.1.1/index.html 查看。
使用django_registration框架实现用户的注册与激活的更多相关文章
- vue新手入门之使用vue框架搭建用户登录注册案例,手动搭建webpack+Vue项目(附源码,图文详解,亲测有效)
前言 本篇随笔主要写了手动搭建一个webpack+Vue项目,掌握相关loader的安装与使用,包括css-loader.style-loader.vue-loader.url-loader.sass ...
- 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(五)——实现注册功能
使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...
- Java基础知识强化之集合框架笔记37:用户登录注册案例
1. 登录注册案例分析图解: 2. 用户登录案例 详细分析 和 分包实现: (1)用户登录案例详细分析(面向对象思想) 按照如下的操作,可以让我们更符合面向对象思想: • 有哪些类呢? ...
- 用户登陆注册【JDBC版】
前言 在讲解Web开发模式的时候,曾经写过XML版的用户登陆注册案例!现在在原有的项目上,使用数据库版来完成用户的登陆注册!如果不了解的朋友,可以看看我Web开发模式的博文! 本来使用的是XML文件作 ...
- Java Spring+Mysql+Mybatis 实现用户登录注册功能
前言: 最近在学习Java的编程,前辈让我写一个包含数据库和前端的用户登录功能,通过看博客等我先是写了一个最基础的servlet+jsp,再到后来开始用maven进行编程,最终的完成版是一个 Spri ...
- 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(四)——对 run.py 的调整
使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...
- day14(编码实战-用户登录注册)
day14 案例:用户注册登录 要求:3层框架,使用验证码 功能分析 注册 登录 1.1 JSP页面 regist.jsp 注册表单:用户输入注册信息: 回显错误信息:当注册失败时,显示错误信 ...
- 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用
使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...
- 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化
使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...
随机推荐
- 【UR #2】猪猪侠再战括号序列 题解
题目链接 前言 是的没脑子选手只会做签到题. 思路分析 一开始把题目看成反转括号的状态,直接浪费 \(40\ mins\) . 我们考虑把不确定的"正确括号"转换成一个固定的括号序 ...
- Object类中wait带参方法和notifyAll方法和线程间通信
notifyAll方法: 进入到Timed_Waiting(计时等待)状态有两种方式: 1.sleep(long m)方法,在毫秒值结束之后,线程睡醒,进入到Runnable或BLocked状态 2. ...
- 一文深入浅出学习Spring框架系列,强烈推荐
本系列主要介绍Spring框架整体架构,Spring的核心IOC,AOP的案例和具体实现机制:以及SpringMVC框架的案例和实现机制.@pdai 相关文章 首先, 从Spring框架的整体架构和组 ...
- 【Azure 存储服务】Hadoop集群中使用ADLS(Azure Data Lake Storage)过程中遇见执行PUT操作报错
问题描述 在Hadoop集中中,使用ADLS 作为数据源,在执行PUT操作(上传文件到ADLS中),遇见 400错误[put: Operation failed: "An HTTP head ...
- 【干货】MySQL底层架构设计,你了解多少?
很多开发同学对SQL优化如数家珍,却对MySQL架构一知半解.岂不是只见树叶,不见森林,终将陷入细节中不能自拔. 今天就一块学习MySQL分层架构,深入了解MySQL底层实现原理,以及每层的作用,我们 ...
- 【人工智能】【Python】Matplotlib基础
Maplotlib 本文档由萌狼蓝天写于2022年7月24日 目录 Maplotlib (一)Matplotlib三层结构 (二)画布创建.图像绘制.图像显示 (三)图像画布设置.图像保存 (四)自定 ...
- 没错,请求DNS服务器还可以使用UDP协议
目录 简介 搭建netty客户端 在netty中发送DNS查询请求 DNS消息的处理 总结 简介 之前我们讲到了如何在netty中构建client向DNS服务器进行域名解析请求.使用的是最常见的TCP ...
- .net6与英雄联盟邂逅之——根据官方LCU API制作游戏助手
看了网上很多自己开发的英雄联盟的小助手工具,当时苦于没有api,自己也想做一个.后来发现了其实拳头本身就提供了LCU API在客户端运行的时候会暴露出来. 现在我们就来了解下工具的实现. 查询数据:h ...
- Go语言基础一:环境配置与基础语法
配置开发环境 开始使用Go,首先需要一个完善的开发环境. 下载并安装Go 安装包的下载地址为:https://golang.org/dl/ go语言中文社区下载:https://studygolang ...
- SpringCloud微服务实战——搭建企业级开发框架(四十五):【微服务监控告警实现方式二】使用Actuator(Micrometer)+Prometheus+Grafana实现完整的微服务监控
无论是使用SpringBootAdmin还是使用Prometheus+Grafana都离不开SpringBoot提供的核心组件Actuator.提到Actuator,又不得不提Micrometer ...