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 rm和rm的使用区别
    Gerrit日常维护记录
    [原创]Gerrit中文乱码问题解决方案分享
    MySQL 高可用架构
    MySQL 高可用架构
    Android L开发指南
    如何使用GOOGLE高级搜索技巧
    Linux定时关机
    Android源码批量下载及导入到Eclipse
    怎样将Android SDK源码 导入到Eclipse中?
  • 原文地址:https://www.cnblogs.com/schut/p/11154933.html
Copyright © 2011-2022 走看看