url路由配置及渲染方式

路由系统

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

URL的引入

url路由配置及渲染方式_第1张图片

URL格式:url路由配置及渲染方式_第2张图片
在这里插入图片描述

Django路由系统

url路由配置及渲染方式_第3张图片
URLconf模块 urls.py 项目文件夹下的叫根配置文件
url路由配置及渲染方式_第4张图片
然后在 urls.py里映射这个views
url路由配置及渲染方式_第5张图片
当有一个请求来的时候如果它的路径为index,将会的匹配到views视图的index_views函数。

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

只匹配路径

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

在url中捕获参数
用<>将参数包住 :
<>代表捕获参数
url路由配置及渲染方式_第6张图片
url路由配置及渲染方式_第7张图片
url路由配置及渲染方式_第8张图片
转换器

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

多个参数操作

url路由配置及渲染方式_第12张图片在这里插入图片描述url路由配置及渲染方式_第13张图片

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

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

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

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

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

kwargs
在这里插入图片描述
视图函数要有kwargs里面所拥有的参数
url路由配置及渲染方式_第16张图片在这里插入图片描述
kwargs放到这表示kwargs里面的每一个参数都将传到includ映射的每一个视图,每一个视图都必须要有kwargs里面所拥有的参数

当url中的参数和额外参数起了冲突时以额外参数为准在这里插入图片描述url路由配置及渲染方式_第17张图片url路由配置及渲染方式_第18张图片

url命名

重定向 redirect
url路由配置及渲染方式_第19张图片
在这里插入图片描述转到百度在这里插入图片描述
————————————————————————————————————————————————
url路由配置及渲染方式_第20张图片url路由配置及渲染方式_第21张图片访问login视图在这里插入图片描述跳转到index视图url路由配置及渲染方式_第22张图片

如果有很多视图

reverse

给这个url添加个name
在这里插入图片描述
导入reverse方法拿到这个视图的url在这里插入图片描述url路由配置及渲染方式_第23张图片
在这里插入图片描述在这里插入图片描述

为了避免不同app用了相同视图名,在每个app的url模块下设置一个变量等于你的应用名
url路由配置及渲染方式_第24张图片
解析的时候要在reverse里加上app的名字url路由配置及渲染方式_第25张图片

模板系统

把模板路径放到哪里
新建一个名为 templates 的文件夹
url路由配置及渲染方式_第26张图片url路由配置及渲染方式_第27张图片
在这里插入图片描述
Django就会到这里查找我们的模板文件url路由配置及渲染方式_第28张图片
然后在templates里在创建一个和app同名的文件夹url路由配置及渲染方式_第29张图片
再到这个文件夹下创建一个htmlurl路由配置及渲染方式_第30张图片
在views里渲染HTML
url路由配置及渲染方式_第31张图片url路由配置及渲染方式_第32张图片
更好的优化方法
url路由配置及渲染方式_第33张图片url路由配置及渲染方式_第34张图片

你可能感兴趣的:(django框架学习)