开发者

Exception Value: Caught NoReverseMatch while rendering: Reverse for 'begin' with arguments '(u'google-oauth2',)'

I make google authorization (Oauth 2.0) with django-social-auth and getting error

Django Version: 1.3
Exception Type: TemplateSyntaxError
Exception Value:    
Caught NoReverseMatch while rendering: Reverse for 'begin' with arguments '(u'google-oauth2',)' and keyword arguments '{}' not found.
Exception Location: /usr/local/lib/python2.6/site-packages/django/template/defaulttags.py in render, line 450
Python Executable:  /usr/local/bin/python
Python Version: 2.6.6

Template

<a rel="nofollow" href="{% url begin "google-oauth2" %}"  ><img src="{{ MEDIA_URL }}social/google.png" id="google"></a>

url.py

urlpatterns = patterns('',    
    url(r'', include('social_auth.urls')),
)
social_auth.urls
urlpatterns = patterns('',
    url(r'^login/(?P<backend>[开发者_开发百科^/]+)/$', auth, name='begin'),
    url(r'^complete/(?P<backend>[^/]+)/$', complete, name='complete'),
    url(r'^associate/(?P<backend>[^/]+)/$', associate, name='associate_begin'),
    url(r'^associate/complete/(?P<backend>[^/]+)/$', associate_complete,
        name='associate_complete'),
    url(r'^disconnect/(?P<backend>[^/]+)/$', disconnect, name='disconnect'),
)

What am I doing wrong?

Please help to find the solution.


You are on django 1.3. Have you included the new url template tag with {% load url from future %}. If you have then your syntax for the url tag is incorrect and would need to be {% url 'begin' 'google-oauth2' %}. If you haven't then your syntax is correct.

Have you ensured that your social_auth.urls is being included correctly? To do this (with debug enabled) manually go to http://yourdevserver/login/google-oauth2/ and ensure you don't see a 404 page. If you do you will be able to see what url's where attempted and that should give you direction on how to fix it.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜