2013-05-12 2 views
2

Я пытаюсь реализовать аутентификацию facebook с помощью socialauth в проекте Django. Я получаю эту ошибку:Ошибка NoReverseMatch с socialauth в Django

NoReverseMatch at /mysite/test 
Reverse for 'socialauth_begin' with arguments '(u'facebook',)' and keyword arguments '{}' not found. 
Request Method: GET 
Request URL: http://127.0.0.1:8000/mysite/test 
Django Version: 1.5.1 
Exception Type: NoReverseMatch 
Exception Value:  
Reverse for 'socialauth_begin' with arguments '(u'facebook',)' and keyword arguments '{}' not found. 

Я считаю, я правильно (this guide helped) настроен socialauth, но я не знаю, где ошибка может быть откуда.

Эта линия в моем шаблоне test.html дает мне вопросы:

<a href="{% url 'socialauth_begin' 'facebook' %}">Login with Facebook</a> 

Я просмотрел много мест в Интернете, и не мог найти разумное решение.

+2

Попробуйте без кавычек вокруг 'socialauth_begin':' {% URL socialauth_begin "facebook" % } ' –

+0

Я пробовал это. Похоже, эта проблема возникла раньше со старыми версиями Django. Вы можете видеть, что я запускаю 1.5.1, что означает, что нужны кавычки –

+1

Проверьте, включили ли вы ссылки social_auth в свой файл 'urls.py':' url (r '', include ('social_auth.urls')) , ', как написано на шаге 4 из упомянутого вами руководства. А также, вы установили в settings.py параметры facebook: 'FACEBOOK_APP_ID' ​​и' FACEBOOK_API_SECRET' – stalk

ответ

6

Чтобы спасти кого-то с помощью новой питон-социально-аутентификации и Джанго> 1,4

Используйте это:

{% url 'social:begin' 'facebook' %} 
+0

Спасибо! Это сработало. Проблема заключается в различии между новыми URL-адресами python-social-auth и старыми URL-адресами django-social-auth. –