使用Python社交身份验证/Facebook登录的NoReverseMatch

使用Python社交身份验证/Facebook登录的NoReverseMatch,python,django,python-social-auth,Python,Django,Python Social Auth,我正在尝试将Facebook登录与Python Social Auth一起使用,但当我登录并Facebook返回我的站点时,我收到以下消息: NoReverseMatch at / Reverse for 'begin' with arguments '(u'facebook',)' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'$login/(?P<backend>[^/]+)/$'] 这是整个回溯: E

我正在尝试将Facebook登录与Python Social Auth一起使用,但当我登录并Facebook返回我的站点时,我收到以下消息:

NoReverseMatch at /
Reverse for 'begin' with arguments '(u'facebook',)' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'$login/(?P<backend>[^/]+)/$']
这是整个回溯:

Environment:


Request Method: GET
Request URL: http://127.0.0.1:8000/

Django Version: 1.6.1
Python Version: 2.7.5
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'reviews',
 'south',
 'taggit',
 'register',
 'endless_pagination',
 'social.apps.django_app.default')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')


Traceback:
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  114.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/filipeferminiano/Documents/django/tests/consumidor/reviews/views.py" in home
  19.         return redirect('done')
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/shortcuts/__init__.py" in redirect
  78.     return redirect_class(resolve_url(to, *args, **kwargs))
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/shortcuts/__init__.py" in resolve_url
  151.         return urlresolvers.reverse(to, args=args, kwargs=kwargs)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/urlresolvers.py" in reverse
  509.     return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/urlresolvers.py" in _reverse_with_prefix
  429.                              (lookup_view_s, args, kwargs, len(patterns), patterns))

Exception Type: NoReverseMatch at /
Exception Value: Reverse for 'done' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
这是我的URL.py

urlpatterns = patterns("",
    url(r'^$', 'reviews.views.home'),
    url(r"^admin/", include(admin.site.urls)),

    #registration
    #url('^accounts/', include('registration.urls')),
    url(r'^accounts/', include('registration.backends.simple.urls')),
    #url(r'^accounts/login/$', 'django.contrib.auth.views.login'),
    #url(r'^accounts/login/$', 'reviews.views.login'),
    url('^accounts/logout/$', 'django.contrib.auth.views.logout', {'next_page' : '/accounts/login'}),
   #url('^accounts/profile/$', 'reviews.views.profile'), 
    #search
    #url(r'^search/$', 'reviews.views.search'),

    #user profile
    #url(r'users/(?P<user>[^/]+)/$', 'reviews.views.profile'),

    #social
    url('', include('social.apps.django_app.urls', namespace='social')),


    #submit reviews
    #url(r'^submit/(?P<slug>[^/]+)/review_submit/$','reviews.views.single_product', name='submit-review'),    

    #category
    #url(r'^cat/(?P<cat>[^/]+)/$', 'reviews.views.category', name='category'),

    #product
    #url(r'^prod/(?P<slug>[^/]+)/$', 'reviews.views.single_product', name='product_detail'),


    #google webmaster tools
    (r'^googlece9fb428b0c84a39\.html$', lambda r: HttpResponse("google-site-verification: googlece9fb428b0c84a39.html", mimetype="text/plain")),

    #robots.txt crawler
    (r'^robots\.txt$', lambda r: HttpResponse("User-agent: *\nDisallow: ", mimetype="text/plain")),





)
urlpatterns=patterns(“,
url(r“^$”、“reviews.views.home”),
url(r“^admin/”,包括(admin.site.url)),
#登记
#url(“^accounts/”,包括('registration.url'),
url(r“^accounts/”,包括('registration.backends.simple.url'),
#url(r“^accounts/login/$”、“django.contrib.auth.views.login”),
#url(r“^accounts/login/$”、“reviews.views.login”),
url(“^accounts/logout/$”、“django.contrib.auth.views.logout”、{“下一页”:“/accounts/login”}),
#url(“^accounts/profile/$”,“reviews.views.profile”),
#搜寻
#url(r“^search/$”、“reviews.views.search”),
#用户配置文件
#url(r'users/(?P[^/]+)/$,'reviews.views.profile'),
#社会的
url(“”,包括('social.apps.django_app.url',namespace='social'),
#提交评论
#url(r'^submit/(?P[^/]+)/review_submit/$,'reviews.views.single_product',name='submit-review'),
#类别
#url(r'^cat/(?P[^/]+)/$,'reviews.views.category',name='category'),
#产品
#url(r'^prod/(?P[^/]+)/$,'reviews.views.single_product',name='product_detail'),
#谷歌网站管理员工具
(r“^googlece9fb428b0c84a39\.html$”,lambda r:HttpResponse(“谷歌网站验证:googlece9fb428b0c84a39.html”,mimetype=“text/plain”),
#robots.txt爬虫程序
(r“^robots\.txt$”,lambda r:HttpResponse(“用户代理:*\nDisallow:,mimetype=“text/plain”),
)
这是我的家

{% block content %}
<a href="{% url 'social:begin' 'facebook' %}">Facebook OAuth2</a> <br />
<a href="{% url 'social:begin' 'facebook-app' %}">Facebook App</a> <br />

<a href="{% url 'social:begin' 'email' %}">Email Auth</a> <br />
<a href="{% url 'social:begin' 'username' %}">Username Auth</a> <br />

<form action="{% url 'social:begin' 'openid' %}" method="post">{% csrf_token %}
  <div>
    <label for="openid_identifier">OpenId provider</label>
    <input id="openid_identifier" type="text" value="" name="openid_identifier" />
    <input type="submit" value="Login" />
  </div>
</form>

<form action="{% url 'social:begin' 'livejournal' %}" method="post">{% csrf_token %}
  <div>
    <label for="openid_lj_identifier">LiveJournal ID</label>
    <input id="openid_lj_identifier" type="text" value="" name="openid_lj_user" />
    <input type="submit" value="Login" />
  </div>
</form>

<form method="post" action="{% url 'social:complete' 'persona' %}">{% csrf_token %}
  <input type="hidden" name="assertion" value="" />
  <a rel="nofollow" id="persona" href="#">Persona</a>
</form>

{% if plus_id %}
<form id="google-plus" method="post" action="{% url 'social:complete' 'google-plus' %}">{% csrf_token %}
  <input id="at" type="hidden" name="access_token" value="" />
  <input id="code" type="hidden" name="code" value="" />

  <div id="signinButton">
    <span class="g-signin" data-scope="{{ plus_scope }}"
                           data-clientid="{{ plus_id }}"
                           data-redirecturi="postmessage"
                           data-accesstype="offline"
                           data-cookiepolicy="single_host_origin"
                           data-callback="signInCallback">
    </span>
  </div>
</form>
{% endif %}

{% endblock %}
{%block content%}




{%csrf_令牌%} OpenId提供程序 {%csrf_令牌%} LiveJournal ID {%csrf_令牌%} {%if加上_id%} {%csrf_令牌%} {%endif%} {%endblock%}
检查Django
重定向
文档在,您的
重定向('done')
应该引用一个视图名称,它查看您的
URL.py
它没有定义,因此您试图将用户重定向到未注册的URL

为了使其正常工作,请尝试将此条目添加到您的
url.py

...
url(r'^done$', 'reviews.views.done', name='done')
...

你能发布你的应用程序的
url.py
文件吗?完成了,你能看一下吗?
...
url(r'^done$', 'reviews.views.done', name='done')
...