DJANGO-ALLAUTH是github上面排名较高的django user系统.本来通过对比是想选用django-userea的,可是博主智商不够看懂它的安装配置文档…..搞乱了一个测试项目之后,只好作罢.好在allauth安装配置相对简单.但是它的文档写得更乱…很多关键信息居然是在常见问题里面找到…记录下来备忘.
1.安装:
复制代码 代码如下:
pip install django-allauth
2.配置
settings.py
复制代码 代码如下:
TEMPLATE_CONTEXT_PROCESSORS = (
\”django.contrib.auth.context_processors.auth\”,
\”django.core.context_processors.debug\”,
\”django.core.context_processors.i18n\”,
\”django.core.context_processors.media\”,
\”django.core.context_processors.static\”,
\”django.core.context_processors.tz\”,
#\”django.contrib.messages.context_processors.messages\”
# Required by allauth template tags
\”django.core.context_processors.request\”,
# allauth specific context processors
\”allauth.account.context_processors.account\”,
\”allauth.socialaccount.context_processors.socialaccount\”,
)
AUTHENTICATION_BACKENDS = (
# Needed to login by username in Django admin, regardless of `allauth`
\”django.contrib.auth.backends.ModelBackend\”,
# `allauth` specific authentication methods, such as login by e-mail
\”allauth.account.auth_backends.AuthenticationBackend\”,
)
INSTALLED_APPS = (
…
# The Django sites framework is required
\’django.contrib.sites\’,
\’allauth\’,
\’allauth.account\’,
\’allauth.socialaccount\’,
# … include the providers you want to enable:
\’allauth.socialaccount.providers.amazon\’,
\’allauth.socialaccount.providers.angellist\’,
\’allauth.socialaccount.providers.bitbucket\’,
\’allauth.socialaccount.providers.bitly\’,
\’allauth.socialaccount.providers.coinbase\’,
\’allauth.socialaccount.providers.dropbox\’,
\’allauth.socialaccount.providers.facebook\’,
\’allauth.socialaccount.providers.flickr\’,
\’allauth.socialaccount.providers.feedly\’,
\’allauth.socialaccount.providers.github\’,
\’allauth.socialaccount.providers.google\’,
\’allauth.socialaccount.providers.hubic\’,
\’allauth.socialaccount.providers.instagram\’,
\’allauth.socialaccount.providers.linkedin\’,
\’allauth.socialaccount.providers.linkedin_oauth2\’,
\’allauth.socialaccount.providers.openid\’,
\’allauth.socialaccount.providers.persona\’,
\’allauth.socialaccount.providers.soundcloud\’,
\’allauth.socialaccount.providers.stackexchange\’,
\’allauth.socialaccount.providers.tumblr\’,
\’allauth.socialaccount.providers.twitch\’,
\’allauth.socialaccount.providers.twitter\’,
\’allauth.socialaccount.providers.vimeo\’,
\’allauth.socialaccount.providers.vk\’,
\’allauth.socialaccount.providers.weibo\’,
\’allauth.socialaccount.providers.xing\’,
…
)
urls.py:
复制代码 代码如下:
urlpatterns = patterns(\’\’,
…
(r\’^accounts/\’, include(\’allauth.urls\’)),
…
)
到此配置好了settings和url,在terminal里面输入
复制代码 代码如下:
python manage.py makemigrations
python manage.py migrate
3.初始化使用
启动本地服务器,后 登陆admin
将用户系统将要服务的网站id确定为当前设置里面设置的网站id
为每一个oauth登陆的接口设置一个socialaccount app
将site和接口提供商的信息填入
此时访问
http://127.0.0.1:8000/accounts/login/
如果之前登陆过 请先访问
http://127.0.0.1:8000/accounts/logout/
就可以看到没有css的默认登陆页面了.可以重写,代码在
PATH\\TO\\YOUR\\VIRTUALENV\\Lib\\site-packages\\allauth\\templates
各个社交网站接口提供商设置在此
http://django-allauth.readthedocs.org/en/latest/providers.html
比较本地化的只有微博和live…github可以算么 O(∩_∩)O
以上就是个人对于Django-allauth的使用经验及配置,如有错误,还请指正