Django allauth:空'signup_url'

时间:2016-12-22 07:37:41

标签: django django-allauth

使用django 1.8.16并打包django-allauth == 0.27.0

登录工作正常,但无法从登录页面访问注册页面。

默认登录模板“login.html”包含指向注册页面的链接:

<p>{% blocktrans %}If you have not created an account yet, then please
<a href="{{ signup_url }}">sign up</a> first.{% endblocktrans %}</p>

但由于'signup_url'的值为空,因此无处可寻。

问题是:'signup_url'应该从哪里获取其价值?

django-allauth文档没有提到这个: 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"

1 个答案:

答案 0 :(得分:0)

这是由错误的网址设置引起的。

工作顶级urls.py部分:

url(r'^accounts/', include('allauth.urls')),
url('^', include('django.contrib.auth.urls')),