django中路由系统和视图的对应关系(值的传递)-->主要内容(位置参数、关键字参数、额外参数、include分组[urls的分发]、命名分组、反向解析、APPEND_SLASH)...

本文深入解析Django框架中的路由系统与视图对应关系,包括位置参数、关键字参数、额外参数、urls分发、命名分组及反向解析等核心概念。同时介绍了APPEND_SLASH设置的作用。

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

路由系统也就是 urls.py文件,视图就是 views.py文件

路由系统里面要注意的事项

urlpatterns中的元素按照书写顺序从上往下逐一匹配正则表达式,一旦匹配成功则不再继续。
若要从URL中捕获一个值,只需要在它外面放置一对圆括号(分组匹配)。
不需要添加一个前导的反斜杠,因为每个URL 都有。例如,应该是^articles 而不是 ^/articles。
每个正则表达式前面的'r' 是可选的但是建议加上。

通过位置参数(使用括号)

通过关键字传参数

传递额外的参数

包含其他url的情况也叫urls的分发,使用关键字include,这种情况必须重启project才能生效

说明:如下图:
1 我们可以根据不同的路径访问不同的url
2 总开发在project名称的urls下面,它可以包含其他项目下面的urls
3例如下面,访问 http://127.0.0.1:8000/app01/a/ ,它会去找app01项目下面的路径/a,最后在views中找到对应的函数

 

在命名分组中后面还可以改变参数,例如1 在视图views.py中改变参数

命名分组传参改变2---》在模板中修改

模板使用反向解析指向urls.py,格式:{% url 'name' %}

下面时多个app的情况,如何分发呢,这里用到了命名空间namespace

首先创建一个app02 : startapp app02

在settings里面加入  'app02.apps.App02Config',

补充:APPEND_SLASH=True

Django settings.py配置文件中默认没有 APPEND_SLASH 这个参数,但 Django 默认这个参数为 APPEND_SLASH = True。 其作用就是自动在网址结尾加'/'
例如:访问 http://www.example.com/blog 时,默认将网址自动转换为 http://www.example/com/blog/ 。

 

posted on 2018-10-18 20:50 dawn-liu 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/mmyy-blog/p/9813058.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值