• Web框架开发-Django的路由层(URLconf)


    URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表;你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行。

    一、简单的路由配置

    路径------------>视图函数

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    '''

         

        urlpatterns = [

             url(正则表达式, views视图函数,参数,别名),

    ]

    参数说明:

        一个正则表达式字符串

        一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串

        可选的要传递给视图函数的默认参数(字典形式)

        一个可选的name参数

        '''

      

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    from django.urls import path,re_path

    from app01 import views

    urlpatterns = [

        re_path(r'^articles/2003/$', views.special_case_2003),

        re_path(r'^articles/([0-9]{4})/$', views.year_archive),

        re_path(r'^articles/([0-9]{4})/([0-9]{2})/$', views.month_archive),

        re_path(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', views.article_detail),

    ]

     注意:

    •  若要从URL中捕获一个值,只需要在它周围放置一对圆括号
    • 不需要添加一个前导的反斜杠,因为每个URL都有。例如,应该是^articles而不是^/articles
    • 每个正则表达式前面的‘r'是可选的,但是建议加上,它告诉Python这个字符串是“原始的”——字符串任何字符都不应该转义

    示例:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    '''

        一些请求的例子:

    /articles/2006/03/    请求将匹配列表中的第三个模式。Django将调用函数view.moth_archive(request,'2006','03')

    /articles/2005/3     不匹配任何URL模式,因为列表中的第三个模式要求月份应该是两个数字

    /articles/2006/     将匹配列表中的第一个模式不是第二个,因为模式按顺序匹配,第一个会首先测试是否匹配

    /articles/2006     不匹配任何一个模式,因为每个模式要求URL,以一个反斜线结尾

    /articles/2006/03/03    将匹配最后一个模式。Django将调用函数views.article_detail(request,‘2006’,‘03’,‘03’)

    <
  • 相关阅读:
    【JavaScript流程控制-分支】
    JavaScript:将input标签中的内容打印到控制台
    Docker搭建ELK
    自然语言处理(NLP)的开发框架
    Facebook广告投放经常被问的几个问题
    单源最短路径算法之Dijkstra
    new、express new、operator new、placement new 之间的千丝万缕
    胡扯推荐算法(协同)及其dome实现
    golang学习笔记——使用结构
    打造综合性品牌阵地 阿里元境引领元宇宙营销创新升级
  • 原文地址:https://blog.csdn.net/liudefang/article/details/136712218