zoukankan      html  css  js  c++  java
  • Django路由(url)

    1.基本配置

    from django.conf.urls import url
    
    from . import views
    
    urlpatterns = [
        url(r'^articles/2003/$', views.special_case_2003),
        url(r'^articles/([0-9]{4})/$', views.year_archive),
        url(r'^articles/([0-9]{4})/([0-9]{2})/$', views.month_archive),
        url(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', views.article_detail),
    ]

    2.分组命名匹配

      在Python的正则表达式中,分组命名正则表达式组的语法是(?P<name>pattern),其中name是组的名称,pattern是要匹配的模式。

      实例

    #url.py
     url(r'^date/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$',views.date)
    #views.py
    def date(request,year,month):
        print("year:",year)
        print("month:",month)
        return HttpResponse('OJBK')

    3.反向解析URL(本质上就是给url匹配模式起别名,然后用过别名拿到具体的URL路径)
       
         1. 怎么起别名?
          在url匹配模式中,定义name="别名"
         2. 如何使用?
              1. 在模板语言里面使用: {% url "别名" %}  --> 得到具体的URL路径
            
            2. 在视图中如何使用: from django.urls import reverse
             reverse("别名")  --> 得到具体的URL路径
            
         3. 如何传参数?
            1. 模板语言中:{% url "别名" 2018 "nb" %}
             
            2. 视图函数中
             传位置参数:reverse("别名", args=(2018, "nb"))
        
             传关键字参数:reverse("别名" kwargs={"year": 2018, "title": "nb"})
       4. namespace
            为了防止不同的app下面的url匹配模式有重复的别名
        
       

  • 相关阅读:
    昆虫洞
    湖南一师大酒店
    三、CentOS 7.X系统安装配置超祥细图解教程
    二、Centos7—U盘启动盘制作
    一、VMware Workstation 15中文破解版 下载与安装(附密钥)
    三、Pycharm2019.3.3的安装
    二、Python2.7的安装并与Python3.8共存
    一、Python3.8的安装
    一、华为模拟器eNSP下载与安装教程
    关于c#的一些笔记
  • 原文地址:https://www.cnblogs.com/wm0217/p/10707205.html
Copyright © 2011-2022 走看看