使用Python社交身份验证/Facebook登录的NoReverseMatch
我正在尝试将Facebook登录与Python Social Auth一起使用,但当我登录并Facebook返回我的站点时,我收到以下消息:使用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
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')
...