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' %}

  • 相关阅读:
    JAVA框架 Spring 事务
    JAVA框架 Spring 调用jdbcsuport简化开发
    JAVA框架 Spring JDBC模板
    JAVA框架 Spring AOP注解
    JAVA框架 Spring AOP--切入点表达式和通知类型
    JAVA框架 Spring AOP底层原理
    JAVA框架 Spring junit整合单元测试
    JAVA框架 Spring 注解注入
    JAVA框架 Spring 引入多个配置文件
    django序列化
  • 原文地址:https://www.cnblogs.com/wszxdzd/p/9768931.html
Copyright © 2011-2022 走看看