首页 > Web开发 > 详细

Django__模板中的URL参数化

时间:2020-10-29 19:49:40      阅读:40      评论:0      收藏:0      [点我收藏+]

去除模板中的硬编码 URL

在案例中的 booktest/index.html 文件里编写的链接都硬编码的链接,比如:

<a href="/booktest/search/{{book.id}}">查看英雄</a>

硬编码和强耦合的链接,对于一个包含很多应用的项目来说,修改起来是十分困难的。然而,因为在 booktest/urls 中通过 name 参数为 URL 定义了名字,我们可以在index.html文件中使用 {% url 视图名字 %} 标签替换硬编码部分:

<a href="{% url ‘search‘ book.id %}">查看英雄</a>

因为使用了 <int:bid>  所以在使用 {% url 视图名字 %}标签替换时需要增加  book.id 参数

这个标签的工作方式是在 booktest/urls 模块的 URL 定义中寻具有指定名字的条目。我们可以查看一下 booktest/urls 文件中,name=‘search‘ 的 URL 是在如下语句中定义的:

...
# ex: /booktest/search/1
path(search/<int:bid>, views.hero_info, name=search) 
...

如果我们想改变投票详情视图的 URL,比如想改成booktest/searchHeroInfo/1,我们不用在模板里修改任何东西(包括其它模板),只要在 booktest/urls.py 里稍微修改一下就行:

# ex: /booktest/search/1
path(searchHeroInfo/<int:bid>, views.hero_info, name=search)

技术分享图片

 

为 URL 名称添加命名空间

 

Django__模板中的URL参数化

原文:https://www.cnblogs.com/testlearn/p/13898391.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!