zoukankan      html  css  js  c++  java
  • Django路由

    一、路由基本格式

    from django.conf.urls import url
    
    urlpatterns = [
         url(正则表达式, views视图,参数,别名),
    ]
    

    参数说明:

    • 正则表达式:一个正则表达式字符串
    • views视图:一个可调用对象,通常为一个视图函数
    • 参数:可选的要传递给视图函数的默认参数(字典形式)
    • 别名:一个可选的name参数

    二、获取url中的值

    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),
    ]
    

      加上括号即可获取值,注意在接受的view方法添加接收参数

    三、URL命名与反向解析

      1、命名

        url(r'^pre/$', views.press_list,name='press_list'),

        分组:

        url(r'^home/([0-9]{4})/([0-9]{2})/$', views.home,name='home'),

        命名分组

         url(r'^home/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$', views.home,name='home'),

      2、反向解析

         (1)在视图中应用 

          from django.urls import reverse
          reverse('press_list') ——》 '/press_list/'

          分组:reverse('home',args=('2008','09'))    ——》'/app01/home/2008/09/'

          命名分组:

          reverse('home',args=('2008','09')) ——》'/app01/home/2008/09/'
          reverse('home',kwargs={'year':'2018','month':'10'})

         (2)在模板中应用    

          {% url 'press_list' %} ——》 '/press_list/' '/pre/'

          分组:
          {% url 'home' '2009' '10' %} ——》'/app01/home/2008/10/'
          命名分组:
          {% url 'home' '2008' '10' %} ——》'/app01/home/2008/10/'
          {% url 'home' month='10' year='2018' %} ——》'/app01/home/2018/10/'

      3、namespace

          url(r'app02/', include('app02.urls',namespace='app02')),
          url(r'app01/',include('app01.urls',namespace='app01')),

          reverse('app01:home',kwargs={'year':'2018','month':'10'})
          reverse('app02:home',kwargs={'year':'2018','month':'10'})


          {% url 'app02:home' '2018' '10' %}

  • 相关阅读:
    windows下安装UNO,配置AEROO_REPORT (Openoffice4已经升级为Python2.7.5版)
    Aeroo Reports Linux server
    使用python在WEB页面上生成EXCEL文件
    Python中生成(写入数据到)Excel文件
    使用python进行图像处理-调整图片大小
    python小写转大写金额
    PgSql备份pg_dump与还原手记pg_restore(转)
    CentOS7关闭默认防火墙启用iptables防火墙
    Docker构建nginx的nginx-rtmp-module视频服务器镜像
    CentOS搭建nginx与nginx-rtmp-module搭建流媒体服务器
  • 原文地址:https://www.cnblogs.com/wszxdzd/p/9768931.html
Copyright © 2011-2022 走看看