路由分配及模板渲染
1.路由系统
示例如多台电脑上网:路由器,,,网络上区分某台电脑,依据ip地址端口和网卡的mac地址
web中路由系统是分发请求,,,,web中区分请求,依据url
url:全球统一资源定位符(网址)
http默认端口:80
https默认端口:443
?:url中的参数
案例:
路由模式:
URLconf模块: urls.py 项目文件夹下的叫根配置文件。
path(route,view,kwargs=None,name=Name)
- route是一个字符串,是url规则
- view是一个视图,是一个函数,不是返回值。
- kwargs额外的参数,是一个字典
- name是url规则的名字。
在url中捕获参数<pk>
crm获取某个学生的详情,数据库 通过主键id
转换器
- str:除了路径分隔符'/'之外的所有字符串。如果不写转换器,默认就是字符串转换器。
- int匹配0或者任何正整数。
- slug匹配任意的ASCII字符或数字组成的slug字符,连字符‘-’和下划线。
- path匹配任何非空字符串,包括路径分隔符。
使用正则表达式
re_path(route,view,kwargs=None,name=None)
注意:re_path获取的都是字符串。正则表达式匹配的参数,会转成字符串。
url命名
重定向
浏览器中输入127.0.0.1:8000/teacher/index/
回车后,跳转到时光课堂:
url反向解析:reverse:
效果:
2.模板系统
django提供了一种模板渲染机制,将html源码写在模板文件中,通过方法处理之后,再返回给客户端。
渲染模板:
效果如下图: