Django view

Django 如何处理一个请求

当一个用户请求Django 站点的一个页面,下面是Django 系统决定执行哪个Python 代码遵循的算法:

  1. Django 决定要使用的根URLconf 模块。通常,这个值就是ROOT_URLCONF 的设置,但是如果进来的HttpRequest 对象具有一个urlconf 属性(通过中间件request processing 设置),则使用这个值来替换ROOT_URLCONF 设置
  2. Django 加载该Python 模块并寻找可用的urlpatterns。它是django.conf.urls.url() 实例的一个Python 列表
  3. Django 依次匹配每个URL 模式,在与请求的URL 匹配的第一个模式停下来
  4. 一旦其中的一个正则表达式匹配上,Django 将导入并调用给出的视图,它是一个简单的Python 函数(或者一个基于类的视图)。视图将获得如下参数
    1. 一旦其中的一个正则表达式匹配上,Django 将导入并调用给出的视图,它是一个简单的Python 函数(或者一个基于类的视图)。视图将获得如下参数
    2. 如果匹配的正则表达式返回了没有命名的组,那么正则表达式匹配的内容将作为位置参数提供给视图
    3. 关键字参数由正则表达式匹配的命名组组成,但是可以被django.conf.urls.url()的可选参数kwargs覆盖
  5. 如果没有匹配到正则表达式,或者如果过程中抛出一个异常,Django 将调用一个适当的错误处理视图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第二章:视图和URL 2.1第一个Django驱动的页面 页面的内容由视图函数(view function)生成,...
    m风满楼阅读 4,642评论 0 12
  • 松噢耶耶摸着考虑考虑墨(⊙o⊙)哦哦墨(⊙o⊙)哦(⊙o⊙)哦(⊙o⊙)哦(⊙o⊙)哦(⊙o⊙)哦摸哦(⊙o⊙)哦...
    星夜空净阅读 2,905评论 0 1
  • OK易丹工作,累哦吗,明星哦OK易丹工作,累哦吗,明星哦OK易丹工作,累哦吗,明星哦OK易丹工作,累哦吗,明星OK...
    alex杨阅读 4,125评论 0 1
  • 新的CSS开发人员常常并不真正了解所使用技术的工作原理,CSS框架的出现进一步恶化了这种局面.CSS框架试图通过标...
    Yisuo烟雨阅读 1,631评论 0 0
  • 老人越老就越不爱说话 他们的世界比我们简单 话,太重 他们只用眼神交流 老人的话 不像我们的容易融化 它们被封在蜜...
    人造月球阅读 2,256评论 3 2