url路由配置及渲染方式

路由系统

URL :全球统一资源定位符是可以从互联网上得到资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么去处理它。 (其实就是网址)

URL的引入

在这里插入图片描述

URL格式:在这里插入图片描述
在这里插入图片描述

Django路由系统

在这里插入图片描述
URLconf模块 urls.py 项目文件夹下的叫根配置文件
在这里插入图片描述
然后在 urls.py里映射这个views
在这里插入图片描述
当有一个请求来的时候如果它的路径为index,将会的匹配到views视图的index_views函数。

path 可以接受的参数(routo,view,kwargs=None,name=None)

只匹配路径

  • routo :是一个字符串,代表url规则
  • view :是一个视图
  • kwargs :额外的参数,是一个字典
  • name :url规则的名字

在url中捕获参数
用<>将参数包住 :<pk>
<>代表捕获参数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
转换器

  • str :匹配除了路径分隔符 ‘/’ 之外的所有字符串,如果不写这个转换器默认就是字符串转换器。在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • int :匹配0和任何正整数在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • slug :匹配任意的ASCII字符或数字组成的slug字符串,连字符和下划线在这里插入图片描述在这里插入图片描述
  • path :匹配任何非空字符串,包括路径分隔符 ‘/’在这里插入图片描述在这里插入图片描述

多个参数操作

在这里插入图片描述在这里插入图片描述在这里插入图片描述

使用正则表达式
注意:正则表达式匹配的参数都会转换成字符串

re_path :可以接受的参数(routo,view,kwargs=None,name=None)

  • routo :是一个字符串,代表url规则
  • view :是一个视图
  • kwargs :额外的参数,是一个字典
  • name :url规则的名字

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

include方法
在这里插入图片描述
表示凡是以 teacher/ 开头的路径都会映射teacher.urls 他会把teacher之前的部分截取,把teacher之后的部分拿到 include 所包含的teacher.urls里面去匹配
可以有多层
在这里插入图片描述
在这里插入图片描述

kwargs
在这里插入图片描述
视图函数要有kwargs里面所拥有的参数
在这里插入图片描述在这里插入图片描述
kwargs放到这表示kwargs里面的每一个参数都将传到includ映射的每一个视图,每一个视图都必须要有kwargs里面所拥有的参数

当url中的参数和额外参数起了冲突时以额外参数为准在这里插入图片描述在这里插入图片描述在这里插入图片描述

url命名

重定向 redirect
在这里插入图片描述
在这里插入图片描述转到百度在这里插入图片描述
————————————————————————————————————————————————
在这里插入图片描述在这里插入图片描述访问login视图在这里插入图片描述跳转到index视图在这里插入图片描述

如果有很多视图

reverse

给这个url添加个name
在这里插入图片描述
导入reverse方法拿到这个视图的url在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

为了避免不同app用了相同视图名,在每个app的url模块下设置一个变量等于你的应用名
在这里插入图片描述
解析的时候要在reverse里加上app的名字在这里插入图片描述

模板系统

把模板路径放到哪里
新建一个名为 templates 的文件夹
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
Django就会到这里查找我们的模板文件在这里插入图片描述
然后在templates里在创建一个和app同名的文件夹在这里插入图片描述
再到这个文件夹下创建一个html在这里插入图片描述
在views里渲染HTML
在这里插入图片描述在这里插入图片描述
更好的优化方法
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值