栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Django20——模板中使用带参数的反向路由(模板中的超链接,带参)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django20——模板中使用带参数的反向路由(模板中的超链接,带参)

文章目录
  • 1、修改模板
  • 2、查看效果
  • 3、小结
  • 4、练习

本节介绍如何在模板中使用反向路由,并传递参数。

1、修改模板

修改reverseTest1.html页面,增加内容如下:

带位置参数反向路由
{#re_path(r'^(d+)/(d+)/(d+)/$',views.detail3,name='detail3'), #位置参数#}
普通链接
模板中的反向路由:位置参数
关键字参数反向路由 {#re_path(r'^keyword/(?Pd+)/(?Pd+)/(?Pd+)/$',views.detail3,name='detail5'),#} 普通链接
模板中的反向路由:关键字参数
2、查看效果


查看源文件如下:

3、小结

URL的反向解析,根据配置的URL名称动态生成链接地址,而不是将地址硬编码写死。如果在视图、模板中使用硬编码的链接,在urlconf发生改变时,维护是一件非常麻烦的事情。

  • 解决:在做链接时,通过指向urlconf的名称,动态生成链接地址
  • 视图:使用django.core.urlresolvers.reverse()函数
  • 模板:使用url模板标签
4、练习

将模板中的硬编码改成使用反向路由来实现

path('getTest1/',views.getTest1,name='getTest1'),
path('getTest2/', views.getTest2,name='getTest2'),
path('getTest3/', views.getTest3,name='getTest3'),
一键一值:test2
一键多值: test3

在图书人物案例中,将模板中的硬编码改成使用反向路由实现。

path("",include(("apps.bh.urls",'bh'),namespace='bh')),
path('',views.get_book_title,name='get_book_title'),
path('',views.get_book_heros,name='get_book_heros'),
path('heros/',views.get_book_heros2,name='get_book_heros2'),
  • { book.id }}">{{ book.btitle }}
  • 转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/925704.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号