路由系统
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


更好的优化方法


285

被折叠的 条评论
为什么被折叠?



