一.url配置

  url本质是url与要为该url调用的视图函数之间的映射表

  urlpatterns = [正则,视图函数[,别名]]

二.正则表达式

  1.匹配原则

    django是循环urlpatterns这个列表,一旦匹配到,就不再往下进行匹配

  2.分组匹配

    把正则进行分组r"^index/([0-9]{4})/([0-9]{2})/"  分组后,视图函数就要用位置参数来接收值,正则捕获的都是字符串格式

  3.命名分组匹配

    把正则进行分组并命名,r"^index/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/",命名分组后,传给视图函数的参数就是关键字参数了,需要用对用的year,month形参名来接收参数

  4.优化匹配

    由于django是循环匹配的,所有多个应用时数据量大匹配的比较慢.就有了分发include模块

    url(r"^app1/",include(app1.urls)),先匹配前面的,然后再去app1.urls匹配(需要在每个app中创建urls.py)

三.别名和反向解析

  1.别名

    url(正则,视图函数,name = "xxx"),name的值就是别名

  2.反向解析

    html中的反向解析,{% url "xxx" [参数] %},其实就是模板渲染

    视图函数中的反向解析,redirect(reverse("别名",[*args]))

diango中的url路由系统的更多相关文章

  1. MVC中的URL路由(一)

    URL路由系统通过对请求地址进行解析从而得到以目标Controller名称为核心的路由数据.Url路由系统最初是为了实现请求url与物理文件路径分离而建立的,MVC的Url Route是将Url地址与 ...

  2. URL路由系统-命名空间

    命名空间 1.工程Django下的urs.py from django.conf.urls import url,include from django.urls import path,re_pat ...

  3. python django基础二URL路由系统

    URL配置 基本格式 from django.conf.urls import url #循环urlpatterns,找到对应的函数执行,匹配上一个路径就找到对应的函数执行,就不再往下循环了,并给函数 ...

  4. 转:在ASP.NET MVC中通过URL路由实现对多语言的支持

    对于一个需要支持多语言的Web应用,一个很常见的使用方式就是通过请求地址来控制界面呈现所基于的语言文化,比如我们在表示请求地址的URL中将上语言文化代码(比如en或者en-US)来指导服务器应该采用怎 ...

  5. day 66 Django基础二之URL路由系统

    Django基础二之URL路由系统   本节目录 一 URL配置 二 正则表达式详解 三 分组命名匹配 四 命名URL(别名)和URL反向解析 五 命名空间模式 一 URL配置 Django 1.11 ...

  6. day 53 Django基础二之URL路由系统

    Django基础二之URL路由系统   本节目录 一 URL配置 二 正则表达式详解 三 分组命名匹配 四 命名URL(别名)和URL反向解析 五 命名空间模式 一 URL配置 Django 1.11 ...

  7. Django的URL路由系统

    一. URL配置 URL配置就像Django所支撑网站的目录.它的本质是URL与要为该URL调用的视图之间的映射表.你就是以这种方式告诉Django,对于哪个URL调用的这段代码. 基本格式 from ...

  8. Django之URL路由系统

    一 URL配置 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表.你就是以这 ...

  9. Django之URL(路由系统)用法

    路由系统 路由系统概念 简而言之,路由系统就是路径和视图函数的一个对应关系.django的路由系统作用就是使views里面处理数据的函数与请求的url建立映射关系.使请求到来之后,根据urls.py里 ...

随机推荐

  1. CentOS7和CentOS6怎样开启MySQL远程访问

    CentOS6开启MySQL远程访问 1.开放MySQL访问端口3306 修改防火墙配置文件 vi /etc/sysconfig/iptables  加入端口配置      -A INPUT -m s ...

  2. ado.net调用返回多结果集的存储过程

  3. vue+窗格切换+田字+dicom显示_02

    环境:vue+webpack+cornerstone ide:vs code 需求:窗格设置+拼图设置 分析: 由于时间的原因,我也没有Baidu更好的显示窗格的方法,所以使用比较笨的方法,通过组件显 ...

  4. vue-cli 选项无法选问题

    winpty vue.cmd create admin 这样创建就可以了

  5. Tomcat的简单归纳总结

    2017年08月09日 12:39:23 大道之简 阅读数:1072    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/HcJsJqJSSM/ar ...

  6. scrapy-pipeline的方法

    scrapy中多个pipeline作用: 一个项目可能需要爬取多个网站,根据每个网站的数据量(处理方式)不同,可创建多个管道 pipeline class SpideranythingPipeline ...

  7. 学习笔记:AngularJs

    站点: http://www.angularjs.cn/  angularjs中文社区 http://www.jb51.net/article/60733.htm  AngularJS内置指令 基本页 ...

  8. jquery与原生JS实现增加、减小字号功能

    预览效果: 实现代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  9. ajax用FormData方式提交

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. python杂记一

    1. 输出CSV文件 用python输出csv文件不难,可是MS office excel和WPS 对输出的CSV文件打开规则不一样. WPS可以支持CSV以'\t'为分隔符,打开文件直接写内容 MS ...