【Django | allauth】登录 _ 注册 _ 邮箱验证 _ 密码邮箱重置
🤵♂️ 个人主页: @计算机魔术师👨💻 作者简介:CSDN 内容合伙人,全栈领域优质创作者。🌐 推荐一款找工作神器网站: 宝藏网站 |笔试题库|面试经验|实习招聘内推|
该文章收录专栏✨---【Django | 项目开发】从入门到上线 专栏---✨
@[TOC]
一、安装与配置
安装 allauth 包,
我们假设你已经创建好了项目 allauthDemo
在 setting 中引入应用,由于 allauth 对站点
django.contrib.sites
有依赖,所以需要加上该应用,并配置站点
在
setting
对 allauth 基本配置
二、邮箱配置
配置邮箱(这里配置已 qq 为例)
如果不想要邮箱验证可添加配置如下
在项目的 url 文件引入
allauth
的url.py
包
三、启动服务器运行
三板斧启动服务器(现使用 sqlite 数据库,后面再迁移至 mysql)
由于配置好了邮箱,所以注册邮箱验证以及重置密码部分都是可已正常运行的(有一点注意: 注册好之后,不需要邮箱验证,数据库也会将用户信息存入,邮箱验证只是需要确定邮箱是否正确,不需要验证后才注册成功,这是因为
ACCOUNT_EMAIL_VERIFICATION (="optonal")
为默认值为可选,如果需要验证才能注册可修改为mandatory
)
以下网页都可以正常访问
四、运行服务器效果
signup 注册页面
login 页面
password/reset 页面
email 页面
logout 页面
邮箱重置密码
注册绑定邮箱验证
confirm-email 页面
如果觉得邮箱提示地址
example.com
名字太丑,还可以在 admin 中修改display_name
下面是 django_allauth 所有内置的 URLs,均可以访问的。
/accounts/login/(URL 名 account_login): 登录
/accounts/signup/ (URL 名 account_signup): 注册
/accounts/password/reset/(URL 名: account_reset_password) :重置密码
/accounts/logout/ (URL 名 account_logout): 退出登录
/accounts/password/set/ (URL 名:account_set_password): 设置密码
/accounts/password/change/ (URL 名: account_change_password): 改变密码(需登录)
/accounts/email/(URL 名: account_email) 用户可以添加和移除 email,并验证
/accounts/social/connections/(URL 名:socialaccount_connections): 管理第三方账户
你有没有注意到没有/accounts/profile/这个 URL?如果我们希望用户在注册时提供更多信息怎么办(比如公司名和电话)? 如果我希望用户在登录后跳转到个人信息页面(UserProfile),并允许用户修改个人信息怎么办?因为每个开发者对用户所需提供的额外信息需求都不是一样的,所以 django-allauth 没有提供这个视图和 URL。
参考文献:allauth登录注册与邮箱验证django发送邮箱扩展用户自带user模型(非allauth实现)外键related_namedef _ str_ (self)def _ str_ (self)verbose_nameadmin自定模型
版权声明: 本文为 InfoQ 作者【计算机魔术师】的原创文章。
原文链接:【http://xie.infoq.cn/article/6069962c99233b264527273ac】。
本文遵守【CC BY-NC-ND】协议,转载请保留原文出处及本版权声明。
评论