目前,在我的settings
模块中,我有这个:
LOGIN_URL = '/login'
如果我决定更改urls.py
中的登录网址,我也必须在此更改。有没有更有活力的方法呢?
答案 0 :(得分:7)
设置 IS 您要设置动态登录网址的位置。请务必从LOGIN_URL
中的settings.py
导入urls.py
,然后使用该from projectname.settings import LOGIN_URL
。
{{1}}
答案 1 :(得分:4)
这适用于我......使用LOGIN_URL ='/ accounts / login'
如果问题那个settings.py有......
LOGIN_URL = '/login/' # <-- remember trailing slash!
...但是,urls.py希望......
url(r'^login/$',
auth_views.login, {'template_name': '/foo.html'},
name='auth_login'),
然后执行此操作:
# - up top in the urls.py
from django.conf import settings
# - down below, in the list of URLs ...
# - blindly remove the leading '/' & trust that you have a trailing '/'
url(r'^%s$' % settings.LOGIN_URL[1:],
auth_views.login, {'template_name': '/foo.html'},
name='auth_login'),
如果您无法信任编辑settings.py的人 ...然后检查LOGIN_URL以斜线开头剪断或不剪断。 ...然后检查尾部斜线LOGIN_URL是否以斜杠&amp;坚持或不坚持 ......然后加上'$'