DJANGO-ALLAUTH社交用户系统的安装配置


本文向大家介绍DJANGO-ALLAUTH社交用户系统的安装配置,包括了DJANGO-ALLAUTH社交用户系统的安装配置的使用技巧和注意事项,需要的朋友参考一下

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的使用经验及配置,如有错误,还请指正