比较来自世界各地的卖家的域名和 IT 服务价格

Django使用反向显示 url 在设置中

设置文件中的一些参数 django 是URL,如
LOGIN_URL


LOGIN_REDIRECT_URL

. 是否可以避免这些URL的刚性编码,而是使用相反的 url? 目前,这是真实的,我在几个地方编写了同一网址的地方。
已邀请:

知食

赞同来自:

Django 1.5 然后

作为 Django 1.5,
LOGIN_URL


LOGIN_REDIRECT_URL

接受命名模式 URL. 这意味着您不需要几乎不需要在设置中编码任何URL。


LOGIN_URL = 'login' # name of url pattern


为了 Django 1.5 - 1.9 您还可以使用表示功能的名称,但不建议使用它,因为它已过时 Django 1.8 它不起作用 Django 1.10+.


LOGIN_URL = 'django.contrib.auth.views.login' # path to view function


Django 1.4

为了 Django 1.4 您可以使用
https://docs.djangoproject.com ... -lazy

LOGIN_URL = reverse_lazy/'login'/


Django 1.3 和早些时候

这是一个原始的答案,以前工作过
reverse_lazy

K. Django

在 urls.py 导入设置:


from django.conf import settings


然后添加模板 url


urlpatterns=/'',
...
url/'^%s$' %settings.LOGIN_URL[1:], 'django.contrib.auth.views.login',
name="login"/
...
/


请注意,您需要削减
LOGIN_URL

, 删除主斜率。

在 shell:


>>>from django.core.urlresolvers import reverse
>>>reverse/'login'/
'/accounts/login/'

快网

赞同来自:

在 django 开发版本 reverse_lazy// 成为选项:
https://docs.djangoproject.com ... -lazy

要回复问题请先登录注册