Ошибка NoReverseMatch с socialauth в Django

Я изо всех сил пытался реализовать аутентификацию Facebook с помощью 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.

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

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

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

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


person Kale Smith    schedule 12.05.2013    source источник
comment
Попробуйте без кавычек вокруг socialauth_begin: {% url socialauth_begin "facebook" %}   -  person David Robinson    schedule 13.05.2013
comment
Я пробовал это. Похоже, эта проблема уже возникала в более старых версиях Django. Вы можете видеть, что я запускаю 1.5.1, что означает, что кавычки необходимы.   -  person Kale Smith    schedule 13.05.2013
comment
Проверьте, включили ли вы ссылки social_auth в свой urls.py файл: url(r'', include('social_auth.urls')),, как написано в шаге 4 из упомянутого вами руководства. А также, вы установили в параметрах facebook settings.py: FACEBOOK_APP_ID и FACEBOOK_API_SECRET   -  person stalk    schedule 13.05.2013
comment
Да, я уже сделал оба.   -  person Kale Smith    schedule 13.05.2013
comment
Я использовал {% url 'socialauth_begin' facebook %}, и это работает для меня с версией 1.5.1.   -  person Glyn Jackson    schedule 13.05.2013
comment
Я только что попробовал это, и я получаю ту же ошибку. Интересно, где может быть ошибка. Не похоже, чтобы большая часть кода, который я использовал, была ошибочной, поскольку это была куча пасты для копирования из рабочего кода...   -  person Kale Smith    schedule 13.05.2013
comment
Как он был установлен? stackoverflow.com/ вопросы/7004398/   -  person Glyn Jackson    schedule 13.05.2013
comment
Я использовал pip под virtualenv и использую префикс socialauth_...   -  person Kale Smith    schedule 13.05.2013


Ответы (1)


Чтобы спасти кого-то, используя новый python-social-auth и django> 1.4

Использовать это :

{% url 'social:begin' 'facebook' %}
person Bwire    schedule 16.03.2014
comment
Спасибо! Это сработало. Проблема заключается в разнице между новыми URL-адресами python-social-auth и старыми URL-адресами django-social-auth. - person Tom Gruner; 23.07.2014