美文网首页python
Django路由系统

Django路由系统

作者: 曹操python | 来源:发表于2019-07-19 23:36 被阅读0次

    1.url是全球统一资源定位符


    image.png

    2.django的路由系统
    当一个请求来到时
    1.首先到项目目录下的urls.py (根URLconf模块)中,查找路由规则
    2.根URLconf模块,里面定义了 urlpatterns 变量
    3.urlpatterns 是一个(django.urls.path,django.urls.re_path 对象)列表
    4.按顺序运行每个url模式,在第一个匹配的模式停止
    5.一旦匹配,django导入并调用给定的视图
    6.如果中间出错,或者没有匹配到,返回404

    -path(route, view, kwargs=None, name=None)
    - route 是一个字符串的url规则
    - view 是个视图
    - kwargs 额外参数,传递给view,必须是一个字典
    - name url的命名

    在url中捕获参数 在url规则中使用<变量名>可以捕获url中的值 传递给视图 ** 捕获的值是 字符串

    路径转换器 案例:int:pk 常用的装换器:

    1. str 匹配除了‘/'路径分隔符之外的所有字符串

    2. int 匹配任意整数

    3. slug 匹配任意ascii字符 加上连字符和下划线

    4. uuid 格式化id

    5. path 匹配任意非空字符

    使用正则表达式 re_path(route, view, kwargs=None, name=None) python 中 正则表达式的分组命名 (?<name>pattern)

    django 搜索 url 搜索的是什么? 只搜索路径部分,跟参数,以及请求方法(get,post)无关

    同一个url 可以匹配 get, post

    包含其他URLconfs include

    传递额外参数 path,re_path 方法中,传递一个kwargs 的字典参数

    ***** 当kwargs 中的key 与 url捕获中的key 一致的时候,以kwargs为准

    url 命名 页面重定向 ,跳转页面 登录之后, 某个操作之后

    app_name 定义在 app文件夹下的urlconf模块中 app_name = app名称

    相关文章

      网友评论

        本文标题:Django路由系统

        本文链接:https://www.haomeiwen.com/subject/yovelctx.html