zoukankan      html  css  js  c++  java
  • 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 这个字符串是“原始的” —— 字符串中任何字符都不应该转义。

       未完,待续...

  • 相关阅读:
    git查看远程仓库地址命令
    sublime 安装插件GitGutter报错,git binary cannot be found等等
    sublime 中 pyv8 binary 报错怎么处理?
    经典语录(个人喜欢)
    css水平垂直居中对齐方式
    github怎么退出组织和删除自己创建的组织
    js学习篇1--数组
    js学习篇--数组按升序降序排列
    tp5.1 swoole 实现异步处理
    验证sll证书与密钥
  • 原文地址:https://www.cnblogs.com/schut/p/11154933.html
Copyright © 2011-2022 走看看