[英]How can I solve python-social-auth Bug?
當我運行“ python manage.py runserver”時,出現錯誤和警告,
/home/jap/.pyenv/versions/3.5.1/lib/python3.5/site-packages/six.py:808:RemovedInDjango110警告:SubfieldBase已棄用。 請改用Field.from_db_value。 返回meta(name,bases,d)
/home/jap/.pyenv/versions/3.5.1/lib/python3.5/site-packages/six.py:808:RemovedInDjango110警告:SubfieldBase已棄用。 請改用Field.from_db_value。 返回meta(name,bases,d)
正在執行系統檢查...
系統檢查確定了一些問題:
警告:?:(1_8.W001)在Django 1.8中不贊成使用獨立的TEMPLATE_ *設置,並且TEMPLATES字典優先。 您必須將以下設置的值放入默認的TEMPLATES字典中:TEMPLATE_CONTEXT_PROCESSORS。
所以,我嘗試了。
$ pip uninstall python-social-auth
$ git clone https://github.com/omab/python-social-auth
$ cd python-social-auth/
$ python setup.py install
但是我仍然有同樣的錯誤。
我添加的內容在這里。
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
'debug_toolbar',
'social.apps.django_app.default',
]
MIDDLEWARE_CLASSES = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'social.apps.django_app.middleware.SocialAuthExceptionMiddleware',
]
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates'),],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
TEMPLATE_CONTEXT_PROCESSORS = (
'social.apps.django_app.context_processors.backends',
'social.apps.django_app.context_processors.login_redirect',
)
AUTHENTICATION_BACKENDS = (
'social.backends.open_id.OpenIdAuth',
'social.backends.twitter.TwitterOAuth',
'social.backends.facebook.FacebookOAuth2',
'django.contrib.auth.backends.ModelBackend',
)
SOCIAL_AUTH_FACEBOOK_KEY = ''
SOCIAL_AUTH_FACEBOOK_SECRET = ''
SOCIAL_AUTH_TWITTER_KEY = 'Your Twitter Key'
SOCIAL_AUTH_TWITTER_SECRET = 'Your Twitter Secret'
urls.py
SOCIAL_AUTH_URL_NAMESPACE = 'social'
urlpatterns = [
url(r'^leon/', include('myapp.urls')),
url(r'^admin/', admin.site.urls),
url(r'', include('social.apps.django_app.urls', namespace='social')),
url(r'', include('django.contrib.auth.urls', namespace='auth')),
] # + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
我應該為錯誤做些什么? 任何建議都將不勝感激。
謝謝。
Python 3.5.1,Django 1.9.2
將您的TEMPLATE_CONTEXT_PROCESSORS條目移到TEMPLATES-> OPTIONS-> context_processors下
這就是我所擁有的:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
join(BASE_DIR, 'templates'),
],
'APP_DIRS':True,
'OPTIONS': {
'debug': DEBUG,
'context_processors': [
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'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.template.context_processors.debug',
'django.template.context_processors.request',
'social.apps.django_app.context_processors.backends',
'social.apps.django_app.context_processors.login_redirect',
],
},
},
]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.