栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Django 初识4

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django 初识4

路由层 静态路由

urlpatterns属性

urlpatterns是路由文件中的一个全局变量,用来存放路由及视图函数的映射关系用户发起的请求URL都会首先进入主控制目录下的这个urls.py文件中进行查找匹配

  1. 首先找到urls.py下的urlpatterns全局变量,这是一个路由规则实例的列表数据。
  2. 按照先后定义顺序,进行路由匹配。
  3. 找到第一个匹配项时停止匹配,执行匹配到的视图函数。
  4. 遍历完全,未发现匹配,django进行异常处理

其中urlpatterns中的每一个路由映射规则可以由path或re_path进行构造

path方法

path(str, view, kwargs=None, name=None)
#str: 一个匹配队形url地址的规则字符串
#view:路由对应的视图函数,并且会自动封装HttpRequest作为第一个参数给这个视图函数
#kwargs:视图函数的关键字参数
#name: 改路由的群居命名,可以让我们方便在Django项目中任意部分显示的使用,相当于url取变量名,接下来全局使用该命名值即可,当对应url路由改变之后,结合路由反向解析使用的地方不需要改路由

re_path

re_path(regex, view, kwargs=None, name=None)

#regex:一个匹配对应url地址的规则字符串
#view:路由对应的视图函数,并且会自动封装HttpRequest作为第一个参数给这个视图函
#kwargs:视图函数的关键字参数
#name:该路由的全局命名,可以让我们方便的在django项目中任意部分显示的使用,相当于为url取变量名,接下来全局使用该命名值即可;当对应url路由改变之后,结合路由反向解析使用的地方不需要更改路由
动态路由

有的时候,我们的路由设置不能一直维持一个一成不变的状态;

比如遇到一些内容翻页的场景,那么我们的连接可能是:xx.com/airticle_list/1/、xx.com/airticle_list/2/

那么这样的路由其实对应的都应该是一个视图函数,用以展示页面内容,那么如何设计这样的路由,就要涉及到动态路由及路由传参

class dt(View):
    def get(self,request,page):
        return HttpResponse(f"当前为第{page}页")


这便是静态路由 和动态路由的区别

路由分发

include路由分发实现
首先我们可以创建一个子路由 把对于app里面的路由操作写到里面
在回到主路由进行分发
1.先导入include方法

from django.urls import path,include

下面在urlpatterns里进行分发

path('',include(urls))  #路由分发

双引号里面不写东西是为了方便我们输入路由名称的时候 还是原来的路由名字
假设我们在双引号里面写上名字为’ly/’ 那我们在网页查找路由的时候 就要在原来的基础上写上ly/然后在写我们的路由名字

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/925918.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号