Excel不相邻列如何打印在一起-英雄云拓展知识分享
152
2023-11-07
【摘要】 本书摘自《Python+3自动化软件发布系统》一书中第2章,第4节,由陈刚、王洪军编著。
2.4.3 Django 框架的工作机制
当了解了Django 如何创建新的项目和应用,且了解了 Django 的主要目录结构 和文件作用之后,接下来,读者需要了解 Django 这个 Web 框架处理 HTTP 请求的 机制。这样,才能在今后的学习中,随时能举纲张目,不会迷失在细节里。
Django 对 HTTP 的请求回应的过程如下
① 用户通过浏览器请求一个页面。
② 请求到达Request Middlewares,中间件对 Request 做一些预处理或者直接响 应请求。
③ URLConf 通过 urls.py 文件和请求的 URL 找到相应的 View。
④ View Middlewares 被访问,它同样可以对 Request 做一些处理或者直接返回
Response.
⑤ 调用View 中的函数。
⑥ View 中的方法可以选择性地通过 Models 访问底层的数据。
⑦ 所有的 Model-to-DB 的交互都是通过 Manager 完成的。
⑧ 如果需要,Views 可以使用一个特殊的 Context。
⑨ Context 被传给 Template 用来生成页面。
a.Template 使用 Filters 和 Tags 去渲染输出。
b. 输出被返回到View。
c.HTTP Response 被发送到 Response Middlewares。
d. 任何Response Middlewares 都可以丰富Response 或者返回一个完全不同的
Response。
e.Response 返回到浏览器,呈现给用户。
上面的处理流程,结合下面的图2-6、图2-7,希望读者已对 Django 框架的工 作流程有了大致的理解。如果现在没吃透细节,也没有关系。待读者阅读完本书的 所有章节,再回过头来品味这两张图,相信会有更多的收获。
2.5 Django 视图
在2.4节,学习 Django 的工作机制时,发现 Djagno 最主要的几个部分分别是: Middleware(中间件,包括 Request 、View 、Exception 、Response) 、URLConf(URL 映 射关系)、Template (模板系统)。接下来的内容,就会一个一个地去实践这些知 识点。
如果将 Middleware 组件进行分拆,再引入 View 与数据库交互时的 Model 模型
内容,就会得出 Django 框架的主要知识模块,如图2-8所示。
2.5.1 基于函数的视图
在2.4节中,最基本的Django 应用已生成,目录及文件都已创建好了。现在开
始逐步引入Django 新的功能。先引入视图这一功能。
视图是接收 HttpRequest 对象并返回一个 HttpResponse 对象的 Python 函数。 接收 Request 作为参数并返回 Response 作为结果。这个流程必须记住!在 Django 整个功能图中,这一节使用的功能如图2-9所示(虚线表示功能暂未启用)。
项目仍以上一节的代码为基础。这一次实践中,我们暂时不会用到模板、模型,
而只使用路由和视图来实现一个简单的Web 访问服务。操作步骤如下:
① 在 settings.py 里的 INSTALL-APPS 加入新建的 App。
https://github.com/aguncn/django_demo_project/blob/master/django_demo_project/set-
tings.py
代码解释:
第9行:bbs 应用目录中都包含了 apps.py 文件,用于保存该应用的相关信息。 将此类添加到工程 settings.py 中的 INSTALLED_APPS 列表中,表明注册安装具 备此配置属性的应用。在 Django1.7 版本以前,也可以直接用 bbs 这样的应用去注 册,但新版本的 Django 还是建议写成 bbs.apps.BbsConfig 。 其中,使用点来分割目 录、文件及方法的规则,源自Python 中定义模块路径的写法。读者以后遇到类似的 定位,只需要在计算机中转换成目录文件及文件内的方法函数即可。
② 在 bbs 目 录 下 的 views.py 中 生 成 一 个 index 函数。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~