Django - 基于正则表达式的url

本文详细介绍Django中三种URL传参方式:GET传参、正则表达式传参及匹配多个参数。从urls.py配置到views.py函数处理,再到HTML页面应用,全面解析Django URL参数传递机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、以get形式往另外url传参

  1)、urls.py中配置网址和函数对应关系;

    

  2)、views.py中函数key_test:

      

  3)、dict_test.html:

    

    通过a标签 ,能够进行url跳转;

  4)、在url.py中,继续配置url和函数对应关系;

    

  5)、detail.html

    

  6、最终效果,通过指定的url,跳转到详细页面中;

    

    

      结果:

      

      

二、通过正则表达式传参

Django版本比较老关于正则表达式URL这一块都是用的url(“url(r'^admin/', admin.site.urls),”)方法。而我自己练习的时候是下载的最新版本,而正则表达式URL用的确实path(“path('admin/', admin.site.urls),”)方法。刚开始一对以匹配的时候都能成功,就没太在意这个细节。

直到后面正则匹配多个时(path('detail-(\d+).html', views.detail),) ,总是报错“page not found”。我检查了好几遍,明明一模一样怎么就不行尼?其实看颜色就感觉有点不太对,但又不知道是什么原因。后来查了相关版本文档之后,终于找到解决的方法了!

在urls.py中导入url方法:

from django.conf.urls import url

 

 

     1、在urls.py中添加url匹配关系  

    url('^detail-(\d+).html', views.detail),
2、在views.py中,填加函数,其中,需要增加正则表达式匹配出来的形参;
  

  3、运行结果:
    
三、正则匹配多个参数的表达方式:
urls.py中增加url和函数对应关系。
  
  views.py中增加detail函数:
  

   nid、uid做为关键字参数传递值使用。

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/wulafuer/p/9317383.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值