Django路由层

mysqlclient

项目同名文件夹下__init__.py这个文件中添加以下两句话:(数据库8.0时,进行数据库迁移时报错为2026的解决方法)
import pymysql
pymysql.install_as_MySQLdb()

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

路由层
path(路由, 视图函数, 别名)

关于url后面加/的问题:有时候你没有加/,django也会自动帮你加上/去匹配

取消自动加/

在settings.py中加上
APPEND_SLASH = False # 默认是自动加斜杆的
re_path(reg, view, name)
reg:正则表示式
正则表达式命名分组模式(?Ppattern)
,匹配提取参数后用关键字传参方式传递给视图函数

正则表达式是一个特殊的字符序列,能够帮助你检查一个字符串是否与某种模式匹配
:匹配字符串的开头’1’
$:匹配字符串的末尾
[…]:用来表达一组字符

re模块是python提供正则表达式功能的
re.match(匹配的正则, 字符串,)
span():查询匹配到的字符串的索引
re.match(‘www’, ‘www.baidu.com’).span()
re.search(匹配的正则, 字符串)
match和search的区别:match只会匹配字符串的开始,如果开始不符合则匹配失败.search匹配整个字符串
compile():用于编译正则表达式的,生成一个正则表达式,供match和search函数使用

无名分组

re_path(‘test/(\d+)/’, views.test),
正则匹配会将括号内匹配的内容当做位置参数传递给后面的视图函数

有名分组

re_path(‘(?P\d+)/’, views.test),
有名分组就是将括号内正则表示式匹配到的内容当做关键字参数传递给后面的视图函数

注意:无名分组和有名分组不能混用

反向解析

反向解析的本质:通过一些方法可以得到一个结果,该结果可以直接访问对应的url触发的视图函数

1.首先给路由起个别名

在这里插入图片描述

2.前端反向解析

在这里插入图片描述

3.后端反向解析

需要导入reverse方法

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

无名分组有名分组反向解析
前端
在这里插入图片描述

后端
在这里插入图片描述

路由分发
在这里插入图片描述

快捷运行manage.py
在这里插入图片描述

可以直接输入startapp 应用名去创建应用

可以通过include方法进行路径分发,利用路由分发之后,总路由就不再干路由和视图的直接对应关系了,而是做分发处理,识别当前的url是属于哪个应用的,直接交给那个应用去处理
在这里插入图片描述

也可以不用导入模块,直接使用
在这里插入图片描述

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力学习的小初雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值