- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章django-allauth入门学习和使用详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
django-allauth是集成的Django应用程序,用于解决网站身份验证,用户的注册登录及账户管理,以及第三方(社交)账户的身份验证.
既然你知道并准备使用django-allauth,所以本文假定你已经掌握了基本的django知识(比如会用django搭建Web App,甚至是一个小型博客网站).
安装与基本配置 。
安装 。
1
|
pip install django
-
allauth
|
基本配置 。
1.在你项目的settings.py里 加上 以下相对应的代码 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
TEMPLATES
=
[
{
'BACKEND'
:
'django.template.backends.django.DjangoTemplates'
,
'DIRS'
: [],
'APP_DIRS'
:
True
,
'OPTIONS'
: {
'context_processors'
: [
'django.template.context_processors.request'
,
],
},
},
]
AUTHENTICATION_BACKENDS
=
(
'django.contrib.auth.backends.ModelBackend'
,
'allauth.account.auth_backends.AuthenticationBackend'
,
)
INSTALLED_APPS
=
(
# 这两个django本身的app也是需要的,但不需要重复添加
'django.contrib.auth'
,
'django.contrib.sites'
,
'allauth'
,
'allauth.account'
,
'allauth.socialaccount'
,
# 下面是django-allauth目前支持的社交账号,加上你需要的就行了,不用全加上:
'allauth.socialaccount.providers.amazon'
,
# 亚马逊
'allauth.socialaccount.providers.angellist'
,
'allauth.socialaccount.providers.asana'
,
'allauth.socialaccount.providers.auth0'
,
'allauth.socialaccount.providers.authentiq'
,
'allauth.socialaccount.providers.baidu'
,
# 百度
'allauth.socialaccount.providers.basecamp'
,
'allauth.socialaccount.providers.bitbucket'
,
'allauth.socialaccount.providers.bitbucket_oauth2'
,
'allauth.socialaccount.providers.bitly'
,
'allauth.socialaccount.providers.coinbase'
,
'allauth.socialaccount.providers.dataporten'
,
'allauth.socialaccount.providers.daum'
,
'allauth.socialaccount.providers.digitalocean'
,
'allauth.socialaccount.providers.discord'
,
'allauth.socialaccount.providers.douban'
,
# 豆瓣
'allauth.socialaccount.providers.draugiem'
,
'allauth.socialaccount.providers.dropbox'
,
'allauth.socialaccount.providers.dwolla'
,
'allauth.socialaccount.providers.edmodo'
,
'allauth.socialaccount.providers.eveonline'
,
'allauth.socialaccount.providers.evernote'
,
'allauth.socialaccount.providers.facebook'
,
'allauth.socialaccount.providers.feedly'
,
'allauth.socialaccount.providers.fivehundredpx'
,
'allauth.socialaccount.providers.flickr'
,
'allauth.socialaccount.providers.foursquare'
,
'allauth.socialaccount.providers.fxa'
,
'allauth.socialaccount.providers.github'
,
# GitHub
'allauth.socialaccount.providers.gitlab'
,
'allauth.socialaccount.providers.google'
,
'allauth.socialaccount.providers.hubic'
,
'allauth.socialaccount.providers.instagram'
,
'allauth.socialaccount.providers.kakao'
,
'allauth.socialaccount.providers.line'
,
'allauth.socialaccount.providers.linkedin'
,
'allauth.socialaccount.providers.linkedin_oauth2'
,
'allauth.socialaccount.providers.mailru'
,
'allauth.socialaccount.providers.mailchimp'
,
'allauth.socialaccount.providers.meetup'
,
'allauth.socialaccount.providers.naver'
,
'allauth.socialaccount.providers.odnoklassniki'
,
'allauth.socialaccount.providers.openid'
,
'allauth.socialaccount.providers.orcid'
,
'allauth.socialaccount.providers.paypal'
,
'allauth.socialaccount.providers.persona'
,
'allauth.socialaccount.providers.pinterest'
,
'allauth.socialaccount.providers.reddit'
,
'allauth.socialaccount.providers.robinhood'
,
'allauth.socialaccount.providers.shopify'
,
'allauth.socialaccount.providers.slack'
,
'allauth.socialaccount.providers.soundcloud'
,
'allauth.socialaccount.providers.spotify'
,
'allauth.socialaccount.providers.stackexchange'
,
'allauth.socialaccount.providers.stripe'
,
'allauth.socialaccount.providers.trello'
,
'allauth.socialaccount.providers.tumblr'
,
'allauth.socialaccount.providers.twentythreeandme'
,
'allauth.socialaccount.providers.twitch'
,
'allauth.socialaccount.providers.twitter'
,
'allauth.socialaccount.providers.untappd'
,
'allauth.socialaccount.providers.vimeo'
,
'allauth.socialaccount.providers.vk'
,
'allauth.socialaccount.providers.weibo'
,
# 新浪微博
'allauth.socialaccount.providers.weixin'
,
# 微信
'allauth.socialaccount.providers.windowslive'
,
'allauth.socialaccount.providers.xing'
,
)
SITE_ID
=
1
# 不要漏了这句哦
|
2.在项目的urls.py(即与setting.py在同一文件夹的urls.py)里 加上 下面这句:
1
2
3
|
urlpatterns
=
[
url(r
'^accounts/'
, include(
'allauth.urls'
)),
]
|
温馨提示:
如果你了解或者用过 django.contrib.auth.urls 这个模块的话,那么用了django-allauth后你就可以用由 allauth 提供的 account_login , account_logout , account_set_password ......这些URLs来替代原先的 login , logout , password_change ...... 。
3.在项目的根目录(即manage.py所在文件夹)里执行以下命令
1
|
python manage.py migrate
|
4.重启服务器.
添加社交账号登录 。
后台设置 。
注意:因为做网站一般有两种环境:开发环境(即网站在本地主机上开发)和生产环境(即网站部署在服务器),而开发环境网站主页一般为: http://127.0.0.1:8000 ,生产环境则类似为 http://www.honkerzhou.com ,为简单描述,所以下文我会直接用 你的域名 代替你的网站主页地址,故请分清自己的网站主页地址,以免混淆.
获取第三方应用的Client id和Secret key 。
1.GitHub 。
登录GitHub后 --> 进入Settings --> 进入Developer settings --> 在OAuth Apps下进入New OAuth App --> 然后按步骤填写信息 --> 进入下一步后就可以看到Client id和Secret key了.
注意:
验证和初步使用 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:https://segmentfault.com/a/1190000019646526 。
最后此篇关于django-allauth入门学习和使用详解的文章就讲到这里了,如果你想了解更多关于django-allauth入门学习和使用详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在使用带有 allauth 的 django 1.6。 我刚刚启用了电子邮件验证功能,正在寻找识别身份的最佳方法 用户是否拥有经过验证的电子邮件 . 我遇到并想问的一件有趣的事情:我注意到一个用户
我想对 django-allauth 中的字段进行一些额外的验证。例如,我想阻止使用免费电子邮件地址。所以我想在注册时运行这个方法 def clean_email(self): email_d
我一直在尝试寻找如何使用 django-allauth 向已经注册并登录的用户添加新的社交帐户。到目前为止,我找到了this question , 和 this other question与我需要的
我想扩展 django-allauth 以包含其他第三方 OAuth 提供商(例如、SurveyMonkey、Qualtrics 等)。我还没有找到关于如何扩展 django-allauth 的好教程
我已经创建了一个Django Web应用程序,我想使用allauth为GitHub创建一个SSO。。我已经设置好了,它运行得很好。但现在,所有GitHub用户都可以登录我的网络应用程序。我想将其仅限于
如何将 Google One Tap 登录体验与 django-allauth 集成? django-allauth 已集成并且非常适合简单的用户名/密码登录。 我有 Google OneTap 更好
我已经设置了 allauth 并注意到它暴露了 /accounts/password/change/这是更改当前登录用户密码的可爱形式。它还暴露了/accounts/email/这非常适合处理与将电子
在多个站点上使用时,是否可以将Django allauth的身份验证方法设置为“email”? 我的目标是允许电子邮件地址为bob@example.com的用户在site1.com上创建一个帐户,并在
我目前正在尝试实现 SendGrid,以便为注册的社交帐户用户发送确认电子邮件,我收到以下错误 SMTPDataError at /accounts/facebook/login/callback/
我正在使用 django-axes 将登录尝试限制在管理后端。但是,对于通过 django-allauth 登录的前端客户端,我找不到任何机制来检测和防止登录失败。 使用 allauth 防止多次登录
我正在使用此代码(在 forms.py 中)作为我的 allauth 自定义注册表单: class RegistrationForm(UserCreationForm): birth_date
我正在使用 django allauth 身份验证系统,我使用带有“next”参数的社交注册,如下所示: 其中 next 是一个动态变量。 但是,我想为该过程注入(inject)第二个屏幕,询问电话
django-allauth docs声称支持让用户与社交网络断开连接的工作流程,他们甚至涵盖了当用户成功断开帐户时发出的信号。 但是文档没有说明如何启动断开连接。当我列出 allauth 项目中的所
我是Django的新手,并且已经安装django-allauth。 我遵循了文档,但是在安装后的步骤中遇到了麻烦: Add a Site for your domain, matching setti
我找到了相反场景的答案: django-allauth: Linking multiple social accounts to a single user 即。本地用户可以在其中连接社交帐户。通过社
我一直按照说明为我的网站设置 django-allauth 软件包,一切正常,直到注册后发送确认电子邮件为止。一切似乎都工作正常,因为我注册了并且有关新帐户的信息位于数据库中(user 表和 acco
我的系统中有两种类型的用户,我想在注册时分配适当的组。引用How to customize user profile when using django-allauth ,我想我可以覆盖注册表单并执行
我尝试关注最新的http://django-allauth.readthedocs.org/en/latest/#installation urls.py 文件如下所示: urlpatterns =
我正在利用 django-allauth 为我的属性(property)管理应用程序提供 Google 身份验证。这是我正在寻找的注册工作流程: A new manager goes to a reg
我主要使用 django-allauth 作为为管理后端创建用户帐户的方式。我希望发生的是: 1) 当用户完成注册过程时,发送验证电子邮件(到目前为止我已经这样做了)并将用户设置为非事件、员工,并通过
我是一名优秀的程序员,十分优秀!