• Django之路由层


    一、前言

    二、基础的路由配置

    三、有名分组

    四、分发

    五、反向解析

    六、名称空间

     

    一、前言

      路由层即 URL配置( URLconf ),是Django所支撑的网站的目录。它的本质是URL与该URL调用的视图函数之间的映射关系,用户输入(客户端)需要访问的网页url,然后它(URL控制器)告诉Django,调用对应的逻辑代码对应执行。

    二、基础的路由配置

     url控制器

    from django.urls import path,re_path
    from app1 import views
    
    urlpatterns = [
        re_path(r'^artices/2018/$',views.paper_2018), # '^'匹配开头,‘$’匹配u末尾 views.paper_2018(request)
        re_path(r'^artices/([0-9]{4})/$',views.paper_2018), # [0-9]{4}表示0到9之间的数反复出现4次 views.paper_2018(request,year)
        re_path(r'^artices/([0-9]{4})/([0-9]{2})/$',views.paper_2018), # [0-9]{2}表示0到9之间的数反复出现2次 views.paper_2018(request,year,month)
        re_path(r'^artices/([0-9]{4})/([0-9]{2})/([0-9]+)$',views.paper_2018), # [0-9]+ 表示0到9之间的数出现1次以上 views.paper_2018(request,year,month,day)
    
    ]

      views视图

    from django.shortcuts import render,HttpResponse
    
    def paper_2018(request):
    
        return HttpResponse('Hello world,this is my first paper in 2018!')
    
    
    def paper_2018(request,year):
    
        return HttpResponse('Hello world,this is my first paper in %s!'%year)
    
    
    def paper_2018(request,year,month):
    
        return HttpResponse('Hello world,this is my first paper in %s-%s!'%(year,month))
    
    
    def paper_2018(request,year,month,day):
    
        return HttpResponse('Hello world,this is my first paper in %s-%s-%s!'%(year,month,day))

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

       未完,待续...

  • 相关阅读:
    mysql数据库分区功能及实例详解
    Mysql线程池优化笔记
    mariadb multi-source replication(mariadb多主复制)
    mysql---二进制日志
    MySQL binlog_format (Mixed,Statement,Row)[转]
    如何生成唯一的server Id,server_id为何不能重复?
    mysql复制过程中的server-id的理解
    MySQL参数:innodb_flush_log_at_trx_commit 和 sync_binlog
    Mysql 用户和权限管理
    B+树索引和哈希索引的区别[转]
  • 原文地址:https://www.cnblogs.com/schut/p/11154933.html
Copyright © 2020-2023  润新知