Django里URL配置中name参数的作用

先看一下URL配置,新增了如下内容:

Django里URL配置中name参数的作用_第1张图片

修改视图views.py

Django里URL配置中name参数的作用_第2张图片

增加一个页面

Django里URL配置中name参数的作用_第3张图片

现在要求是在name页面里面增加一个链接,显示详细信息。修改name页面

Django里URL配置中name参数的作用_第4张图片

Django里URL配置中name参数的作用_第5张图片

Django里URL配置中name参数的作用_第6张图片

这个功能实现了,可是之前添加的那个name参数是干嘛的呢?到目前为止还没用。下面就开始用了,你看上面那个标签里面的URL地址是硬编码/mysite/details/,这里就有一个问题,如果某种需求导致你必须要修改详情页的URL,不再是/mystie/details了,如果是硬编码你就需要修改每一个引用了这个URL的HTML页面,这显然很麻烦啊。有没有更好的办法呢?其实就是变量。下图就是我们之前定义的名字。

Django里URL配置中name参数的作用_第7张图片

下面我们要在页面中使用它来替代硬编码,修改name.html页面

Django里URL配置中name参数的作用_第8张图片

 

 

访问结果还是一样的。这时候由于name页面使用的是名字,哪怕detailes页面的URL换了也没有问题,因为你只需要修改url配置就可以,如下图红色箭头。

Django里URL配置中name参数的作用_第9张图片

 

这里又有一个问题,details页面可能有多个,如果只写名字它怎么知道是人的详情页还是其他的详情页呢?这就需要用到命名空间。
修改mystie的url配置,如下图

Django里URL配置中name参数的作用_第10张图片

修改name页面

Django里URL配置中name参数的作用_第11张图片

加一个前缀也就是那个命名空间的名字,这样哪怕不同APP中有多个叫做details的页面也不用担心会搞错。所以name参数到底是做什么的相信你已经有了认识,其实可以理解为就是一个变量,这个变量的值就是URL。

转载于:https://www.cnblogs.com/rexcheny/p/9635879.html

你可能感兴趣的:(Django里URL配置中name参数的作用)