Django中allauth的安装与基本使用
Django,allauth,安装,基本,使用
2025-03-25 08:59:30 时间
安装django-allauth与基本使用
pip install django-allauth
安装完成后在settings.py
中将allauth相关的app注册到INSTALLED_APP里面去,值得注意的是allauth对于站点设置django.contrib.sites有依赖,所以也需要将它注册进去,同时设置SITE_ID。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# all_auth对site有依赖,需要导入
'django.contrib.sites',
# 导入allauth
'allauth',
'allauth.account',
'allauth.socialaccount',
]
# 别忘了注册SITE_ID
SITE_ID = 1
这里我不需要使用allauth的第三方登录功能,所以没有把第三方登录的相关包导进来,allauth提供了强大的第三方登录功能,需要的可以查看allauth的官方文档。
再配置登录和权限控制的功能,同样写在settings.py
里面。
# 基本设定
# 可以使用用户名或邮箱登录
ACCOUNT_AUTHENTICATION_METHOD = 'username_email'
# 是否需要邮箱
ACCOUNT_EMAIL_REQUIRED = True
# 指定授权
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend',
)
别忘了在urls.py
中加上allauth
from django.urls import include
urlpatterns = [
path('admin/', admin.site.urls),
# 注册allauth
path('accounts/', include('allauth.urls')),
]
然后使用命令行中输入
python manage.py makemigrations
python manage.yy migrate
python manage.py runserver
在浏览器中访问http://127.0.0.1:8000/accounts/signup/
可以发现进入了注册界面,尝试注册一个账号,并且尝试登录,可以发现成功url能够成功跳转到http://127.0.0.1:8000/accounts/profile/
,但是由于我们还没有定义profile界面,所以会提示Page not found,这是正常的。
下面是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?因为每个开发者对用户所需提供的额外信息需求都不是一样的,所以django-allauth没有提供这个视图和URL,需要我们自己写。
相关文章
- 在 Linux 服务器上使用 Nginx + Gunicorn 部署 Django 项目的正确姿势
- Python进阶25-Django Web框架
- pycharm配置django环境_pycharm的terminal默认环境
- 一次完整的 Django 项目的迁移,有关 MySQL 数据库的导出与导入
- Django-缓存内容
- Python项目52-Django封装支付宝支付
- pycharm怎么配置django环境_pycharm环境搭建
- pycharm中安装django_pycharm环境配置教程
- pycharm django环境搭建_IDEA如何创建项目
- Django choices to js `' `(html select option)
- Django学习记录
- vue django mysql_Python MySQL
- pycharm怎么运行django项目_django怎么用
- Django的设计模式
- Django的请求与响应
- Django学习笔记一初识Django
- django pycharm_pycharm调试django
- Python进阶33-Django cookie和session
- pycharm安装包说pip版本不对_django库
- Pycharm安装django包[通俗易懂]