Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django中的命名URL真的有必要吗?_Django - Fatal编程技术网

Django中的命名URL真的有必要吗?

Django中的命名URL真的有必要吗?,django,Django,我在Django应用程序中使用的URL映射是“命名URL”,如下所示(根据Django的文档)。比如说, 在项目的URL.py中: 在mainapp的url.py中: 通过上述名称空间和名称设置,可以在视图和模板中分别使用以下格式: reverse('main:main') {% url 'main:main' %} 使用命名URL的优点之一是,我们可以轻松更改URL映射,而不会影响视图或模板中的代码 我已经开发了几十个真正的商业Django项目。上述内容听起来可能合理,但我从未在任何项目中更

我在Django应用程序中使用的URL映射是“命名URL”,如下所示(根据Django的文档)。比如说,

在项目的URL.py中:

main
app的url.py中:

通过上述
名称空间
名称
设置,可以在视图和模板中分别使用以下格式:

reverse('main:main')
{% url 'main:main' %}
使用命名URL的优点之一是,我们可以轻松更改URL映射,而不会影响视图或模板中的代码


我已经开发了几十个真正的商业Django项目。上述内容听起来可能合理,但我从未在任何项目中更改过URL设置。我想知道什么样的项目会不时更改URL映射,这样命名的URL才有用?

这与更改URL无关。它处理URL中的转义字符串,并避免复杂的字符串处理。此外,人们倾向于编写
foo
,而不是
/foo
,因此这意味着它本身不会创建浏览器从根开始的URL。最后,它使URL指向的内容变得非常清晰,而不必自己“解码”。你在URL中做过一些i18n的东西吗?我在我的网站上做过i18n,但在URL中没有。你能举一些例子说明i18n的命名URL的有用性吗?@WillemVanOnsem很好,谢谢。
path('', views.main, name='main'),
reverse('main:main')
{% url 'main:main' %}