Django allauth:空'signup_url' [英] Django allauth: empty 'signup_url'
问题描述
使用django 1.8.16和软件包django-allauth == 0.27.0
Using django 1.8.16 and package django-allauth==0.27.0
登录正常,但无法从登录页面访问注册页面。
Login works fine, but signup page cannot be reached from login page.
默认登录模板'login.html'包含指向注册页面的链接:
The default login template 'login.html' contains a link to a signup page:
<p>{% blocktrans %}If you have not created an account yet, then please
<a href="{{ signup_url }}">sign up</a> first.{% endblocktrans %}</p>
但是由于'signup_url'的值为空,因此无意义。
But since the value of 'signup_url' is empty, this points nowhere.
问题是: signup_url应从何处获得价值?
django-allauth文档没有提一下:
http://django-allauth.readthedocs。 io / en / latest / installation.html
django-allauth documentation doesn't mention this: http://django-allauth.readthedocs.io/en/latest/installation.html
更多信息:
- 'mysite.com/user/login'正常工作
- 'mysite.com/accounts/signup'实际上显示了注册页面,因此这是'signup_url'所指的
- Django调试工具栏在此页面上不起作用,因为需要登录才能使工具栏起作用?
设置摘录:
LOGIN_URL = reverse_lazy('login')
LOGOUT_URL = reverse_lazy('logout')
LOGIN_EXEMPT_URLS = (
r'^about$',
r'^accounts/password/reset/$',
r'^accounts/signup/$',
)
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = "mandatory"
推荐答案
这是由错误引起的网址设置。
This was caused by wrong url settings.
正在工作的顶级urls.py部分:
Working top level urls.py section:
url(r'^accounts/', include('allauth.urls')),
url('^', include('django.contrib.auth.urls')),
这篇关于Django allauth:空'signup_url'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!