zoukankan      html  css  js  c++  java
  • Django中url匹配规则的补充

    Django中url匹配规则是在urls.py文件中配置的。

    1、关于正则匹配优先级

    在url匹配列表中,如果第一条和第二条同时满足匹配规则,则优先匹配第一条。

    在url匹配列表中,如果第一条为正则模糊匹配,第二条为精确匹配,则优先匹配第一条。如下:

    url(r'^2016/([0-9]{2})/$',views.001),
    url(r'^2016/07/$',views.002),

    当请求url为localhost:8000/2016/07/时,也会转发给views.001处理。

    将匹配到的数字传给视图中函数时,永远是以字符串的形势传递的。

    2、关于二级路由子url配置

    请求经过全局url转发到二级url(子url)时,若子url没有任何值,使用'^$'代替(匹配首页)。如下:

    全局url的配置

     url(r'^payment/',include('test1.urls')),

    请求url为localhost:8000/payment时,交给test1下面的urls。

    test1中url的配置

    url(r'^&',views.db_handle),

    即请求的url为localhost:8000/payment时,交给db_handle函数处理。

    3、传递额外参数

    全局url指定子url时,可以传递一个参数。并且该参数在子url指定的函数中必须接收。如下:

    全局url配置

    url(r'^test1/',include('test1.urls'),{'name':'ahai'}),

    参数{'name':'ahaii'}会随着子url(test1.urls)传递给对应的函数,该函数必须设置一个形参来接收该值。该用法可用在当用户登陆主站后,访问子站时,将用户信息传递给子站,用户无须再登陆。该值一般都是动态值传递。

  • 相关阅读:
    家长如何助力孩子适应小学生活
    一年级线上家长会
    gdb常用调试命令
    二叉树-后序遍历
    机器人
    Oracle创建只读账号的详细步骤
    ORACLE RAC日常运维-调整RAC+DG环境redo大小
    Redis 延迟分析
    oracle dataguard 重启步骤
    catalog start with + switch database to copy的妙用
  • 原文地址:https://www.cnblogs.com/ahaii/p/5710458.html
Copyright © 2011-2022 走看看