Django处理一个请求的过程

一、Django处理一个请求的过程

Django处理一个请求的过程如下:

  1. Django使用的是根URLconif模块,这个值通常通过ROOT_URLCONF设置:url到视图函数的映射关系(在.../settings.py文件中)

  2. Django加载URLconf模块(urls.py),并寻找可用的urlpatterns,匹配规则参考二
  3. Django依次匹配每个URL模式,在与请求的URL匹配的第一个模式处停下来
  4. 一旦其中一个正则表达式匹配上,则Django将请求指向对应的视图函数处理
  5. 如果没有匹配到,则过程中抛出一个异常,则Django将调用一个适当的错误处理视图

二、正则表达式匹配

urls.py文件示例如下:

                                                r‘^index/$‘
        匹配符                                                     含义
           r 字符串前面加"r"是为了防止字符串中出现类似“\t”字符串时被转义
          ^ 匹配字符串的开头;在多行模式中匹配每一行的开头,如^abc匹配的abcdd
          $ 匹配字符串末尾;在多行模式中匹配每一行末尾,如abc$,匹配的efgabc
时间: 2024-10-10 14:18:56

Django处理一个请求的过程的相关文章

Tomcat学习(一) - Tomcat结构以及处理一个请求的过程

1. Tomcat结构 Tomcat是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的 组件是Catalina Servlet容器,其他的组件按照一定的格式要求配置在这个顶层容器中.Tomcat的各个组件是在<TOMCAT_HOME>\conf \server.xml文件中配置的,Tomcat服务器默认情况下对各种组件都有默认的实现,下面通过分析server.xml文件来理解Tomcat 的各个组件是如何组织的.server.xml文件的基本组成结构如下. XML配置文件结构 &l

一个请求大体过程

当一个用户在浏览器里输入www.taobao.com这个URL时,将会发生很多操作.首先它会请求DNS把这个域名解析成对应的IP地址,然后根据这个IP地址在互联网上找到对应的服务器,向这个服务器发起一个get请求,由这个服务器决定返回默认的数据资源给访问的用户.在服务器端实际上还有很复杂的业务逻辑:服务器可能有很多台,到底指定哪台服务器来处理请求,这需要一个负载均衡设备来平均分配所有用户的请求:还有请求的数据是存储在分布式缓存里还是一个静态文件中,或是在数据库里:当数据返回浏览器时,浏览器解析数

Djangon如何处理一个请求(How Django processes a request)

当用户从Django服务器站点请求页面时,系统遵循以下算法来确定要执行的Python代码: 1.  首先Django确定要使用的根URLconf模块.通过 ROOT_URLCONF 来设置,具体在 settings.py 配置文件中. 但是如果传入HttpRequest对象具有urlconf属性(由中间件设置),则其值将替换ROOT_URLCONF设置. 2. Django加载该Python模块并查找该变量urlpatterns.这应该是一个Python的django.conf.urls.url

[转]Tomcat处理一个HTTP请求的过程

1.Tomcat Server的组成部分 1.1 - Server A Server element represents the entire Catalina servlet container. (Singleton) 1.2 - Service A Service element represents the combination of one or more Connector components that share a single Engine.Service是这样一个集合:

Tomcat Server处理一个HTTP请求的过程(转)

Tomcat Server处理一个HTTP请求的过程 1.用户点击网页内容,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得. 2.Connector把该请求交给它所在的Service的Engine来处理,并等待Engine的回应. 3.Engine获得请求localhost/test/index.jsp,匹配所有的虚拟主机Host. 4.Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被

Tomcat系列(6)——Tomcat处理一个HTTP请求的过程

Tomcat的架构图   图三:Tomcat Server处理一个HTTP请求的过程 处理HTTP请求过程 1.用户点击网页内容,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得. 2.Connector把该请求交给它所在的Service的Engine来处理,并等待Engine的回应. 3.Engine获得请求localhost/test/index.jsp,匹配所有的虚拟主机Host. 4.Engine匹配到名为localhost的Host(即

利用django创建一个投票网站(三)

创建你的第一个 Django 项目, 第三部分 这一篇从第二部分(zh)结尾的地方继续讲起.我们将继续编写投票应用,并且聚焦于如何创建公用界面--也被称为"视图". 设计哲学 Django 中的视图的概念是「一类具有相同功能和模板的网页的集合」.比如,在一个博客应用中,你可能会创建如下几个视图: 博客首页--展示最近的几项内容. 内容"详情"页--详细展示某项内容. 以年为单位的归档页--展示选中的年份里各个月份创建的内容. 以月为单位的归档页--展示选中的月份里各

浏览器的一个请求从发送到返回经历了什么(转)

1.先从网络模型的层面: cilent与server通过http协议通讯,http协议属于应用层协议,http基于tcp协议,所以cilent与server主要通过socket进行通讯:tcp属于运输层协议,如果走https还需要会话层TLS.SSL等协议:同时还需要DNS域名解析等:传输层之下网络层,这里主要是路由协议OSPF.RIp等进行路由转发之类的.再向下数据链路层主要是ARP.RARP协议完成IP和MAC地址的互解析,再向下到最底层物理层基本就是IEEE802.X等协议进行数据比特流转

[转]TOMCAT原理以及处理HTTP请求的过程、ContextPath ServletPath

一.TOMCAT 1 - Tomcat Server的组成部分 <Server> <Service> <Connector/> <Engine> <Host> <Context> </Context> </Host> </Engine> </Service> </Server> 1.1 - Server A Server element represents the enti