2013-05-12 81 views
2

我一直在努力在Django項目上實現與socialauth的Facebook身份驗證。我不斷收到此錯誤:NoReverseMatch與Django中的socialauth錯誤

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 「臉譜」 % }' – 2013-05-12 21:18:17

+0

我試過了。看起來這個問題在老版本的Django之前就已經出現了。你可以看到我正在運行1.5.1這意味着引號是必要的 – 2013-05-12 21:22:52

+1

檢查,你是否在你的'urls.py'文件中包含了social_auth urls:'url(r'',include('social_auth.urls')) ,',就像你剛剛提到的指南中的第4步所寫的那樣。另外,你有沒有在settings.py中設置facebook的參數:'FACEBOOK_APP_ID'和'FACEBOOK_API_SECRET' – stalk 2013-05-12 21:24:53

回答

6

要保存一個人在使用新的蟒蛇 - 社會 - 身份驗證和Django的> 1.4

使用此:

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

謝謝!這工作。問題在於新的python-social-auth網址和舊的django-social-auth網址之間的區別。 – 2014-07-23 14:38:41