Django教程:[10]动态url
前一篇文章我们做了一个动态页面,下面我们来看看动态url,它的目的是一组模式相同的url都映射到同一个函数,比如127.0.0.1:8000/time/15/和127.0.0.1:8000/time/1/都调用函数ctime,在函数ctime中还能读取url中最后的数字15或者1,我们下面就来看看这是如何实现的:
首先打开urls.py,我们先来写一个url的正则表达式
![Django教程:[10]动态url](https://exp-picture.cdn.bcebos.com/03605157935653bb707d79481d0b3121046171f0.jpg)
我们使用正则表达式 ^time/\d{1,2}/$ 来表示127.0.0.1:8000/time/15/这样的url的模式,其中\d就表示数字,而大括号内的数字表示1位数字或者2位数字。具体的正则表达式教程,你看下面的参考资料
![Django教程:[10]动态url](https://exp-picture.cdn.bcebos.com/e2aefe781431dfb6a4314ad512cf02532e6363f0.jpg)
为了获取url中的最后的数字,也就是参数,我们使用小括号括起来要传递的参数,如图所示
![Django教程:[10]动态url](https://exp-picture.cdn.bcebos.com/31097f43d7d44831acb6eb14d40f822b75ee51f0.jpg)
打开view.py,修改ctime函数
![Django教程:[10]动态url](https://exp-picture.cdn.bcebos.com/27725684cde34b2ce0b366cc0d0e7c75e4f443f0.jpg)
我们使用ctime函数中的第二个参数(num)来表示从url中获得的参数,然后将num内的值通过变量txt返回到页面,是我们看到访问这个函数的url
![Django教程:[10]动态url](https://exp-picture.cdn.bcebos.com/3b8fb4d7726b0ce2a4ba29bcef781423bfb9b6f0.jpg)
在浏览器中输入地址访问我们的页面,你会看到返回得到的url
![Django教程:[10]动态url](https://exp-picture.cdn.bcebos.com/87645f93cee8b0048446ccbc79260d9a300ea9f0.jpg)
换一个url来试试
![Django教程:[10]动态url](https://exp-picture.cdn.bcebos.com/6bbfdd14f1c595ee9c9caa9427530688902c9af0.jpg)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。