Python url()中第三个参数名的用途是什么?为什么urlpatterns列表中只有一个元素,却有一个逗号?

Python url()中第三个参数名的用途是什么?为什么urlpatterns列表中只有一个元素,却有一个逗号?,python,django,url,Python,Django,Url,我正在做一个django项目(教程),我在urls.py文件中遇到了这段代码 from django.conf.urls import url from . import views urlpatterns = [ url(r'^$', views.index, name='index'), ] 我使用了这个文件并得到了正确的输出。但是,为了进行实验,我在url函数中省略了“name”参数。只有两个参数,正则表达式和视图。像这样: from django.conf.urls import

我正在做一个django项目(教程),我在urls.py文件中遇到了这段代码

from django.conf.urls import url
from . import views

urlpatterns = [
url(r'^$', views.index, name='index'),
]
我使用了这个文件并得到了正确的输出。但是,为了进行实验,我在url函数中省略了“name”参数。只有两个参数,正则表达式和视图。像这样:

 from django.conf.urls import url
 from . import views

 urlpatterns = [
 url(r'^$', views.index),
 ]
尽管如此,我还是得到了正确的输出。 那么,为什么还有第三个参数,url函数中的name参数呢

此外,urlpatterns列表只包含1个元素,但在关闭列表之前,我们使用了“,”(逗号)。为什么呢

为什么还有第三个参数,url函数中的name参数

URL的
名称
是可以反转的,即获取特定视图的URL。例如,您可以在生成内部链接时使用此选项

发件人:

在Django项目中工作时,一个常见的需求是可以获取最终形式的URL,用于嵌入生成的内容(视图和资产URL、向用户显示的URL等),或者用于处理服务器端的导航流(重定向等)

我们可以获取URL的主要信息是负责处理URL的视图的标识(例如名称)。必须参与正确URL查找的其他信息包括视图参数的类型(位置、关键字)和值

让我们考虑一个例子:

想象一下,你正在建立一个网站,你想制作一个“关于我们”的页面。你也很喜欢恐龙,所以你想,“如果我的URL都是恐龙的名字,那不是很酷吗?”所以你在
URL.py中加入了类似的内容:

url(r'^tyrannosaurus-rex$', views.about_us),
现在你想链接到那个页面,也许在你的导航栏里。没问题。您可以在模板中放入类似的内容:


这是可行的,但您复制了一些信息:您的“关于我们”页面可以在
/霸王龙
上找到

由于某些原因,你的网站流量很小,所以你雇了人来查看你的搜索引擎优化。他们告诉你,你的URL应该与页面上的内容有关,而不是像恐龙一样酷。在这里,您的“关于我们”页面应该位于类似于
/about-us
的位置。现在您必须返回并在两个地方更新代码:
url.py
和您的模板。现在想象一下,在你拥有的每一个链接上都这样做

相反,如果你把

url(r'^tyrannosaurus-rex$', views.about_us, name='about_us'),
进入
urls.py
您可以使用如下链接:


Django将查看您想要的URL的名称,并使用
URL.py
中的信息来确定链接应该指向什么。现在,当您更改链接结构时,只需执行一次:在
url.py
中。因为链接的名称没有更改,
{%url'about_us“%}
会自动生成一个新的、正确的链接

此外,urlpatterns列表只包含1个元素,但在关闭列表之前,我们使用了“,”(逗号)。为什么呢

列表中包含一个逗号,即使只有一个元素,因为它稍微容易一些。Python允许逗号,现在我们可以轻松地在逗号之前或之后添加条目,而无需更改它

为什么还有第三个参数,url函数中的name参数

URL的
名称
是可以反转的,即获取特定视图的URL。例如,您可以在生成内部链接时使用此选项

发件人:

在Django项目中工作时,一个常见的需求是可以获取最终形式的URL,用于嵌入生成的内容(视图和资产URL、向用户显示的URL等),或者用于处理服务器端的导航流(重定向等)

我们可以获取URL的主要信息是负责处理URL的视图的标识(例如名称)。必须参与正确URL查找的其他信息包括视图参数的类型(位置、关键字)和值

让我们考虑一个例子:

想象一下,你正在建立一个网站,你想制作一个“关于我们”的页面。你也很喜欢恐龙,所以你想,“如果我的URL都是恐龙的名字,那不是很酷吗?”所以你在
URL.py中加入了类似的内容:

url(r'^tyrannosaurus-rex$', views.about_us),
现在你想链接到那个页面,也许在你的导航栏里。没问题。您可以在模板中放入类似的内容:


这是可行的,但您复制了一些信息:您的“关于我们”页面可以在
/霸王龙
上找到

由于某些原因,你的网站流量很小,所以你雇了人来查看你的搜索引擎优化。他们告诉你,你的URL应该与页面上的内容有关,而不是像恐龙一样酷。在这里,您的“关于我们”页面应该位于类似于
/about-us
的位置。现在您必须返回并在两个地方更新代码:
url.py
和您的模板。现在想象一下,在你拥有的每一个链接上都这样做

相反,如果你把

url(r'^tyrannosaurus-rex$', views.about_us, name='about_us'),
进入
urls.py
您可以使用如下链接:


Django将查看您想要的URL的名称,并使用
URL.py
中的信息来确定链接应该指向什么。现在,当您更改链接结构时,只需执行一次:在
url.py
中。因为链接的名称没有更改,
{%url'about_us“%}
会自动生成一个新的、正确的链接

此外,urlpatterns列表只包含1个元素,但在关闭列表之前,我们使用了“,”(逗号)。为什么呢

该列表包含一个逗号e