目前,在我的settings模块中,我有这个:
LOGIN_URL = '/login'
如果我决定更改 中的登录 URL urls.py,我也必须在此处进行更改。有没有更动态的方式来做到这一点?
目前,在我的settings模块中,我有这个:
LOGIN_URL = '/login'
如果我决定更改 中的登录 URL urls.py,我也必须在此处进行更改。有没有更动态的方式来做到这一点?
设置是您设置动态登录网址的位置。LOGIN_URL确保从settings.py您的导入urls.py并改用它。
from projectname.settings import LOGIN_URL
这对我有用......使用 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 是否以斜杠结尾并附加或不附加...然后附加'$'