当前位置: 首页 > news >正文

【Python】【进阶篇】6、Django视图函数

目录

  • 6、Django视图函数
    • 1. 第一个视图函数
        • 1)HttpResponse视图响应类型
        • 2)视图函数参数request
        • 3)return视图响应
    • 2. 视图函数执行过程

6、Django视图函数

视图是 MTV 设计模式中的 V 层,它是实现业务逻辑的关键层,可以用来连接 M 层与 T 层,起着纽带般的作用,在《DjangoMTV和MVC的区别》中也做了相应的介绍,所以它的重要性可想而知。

1. 第一个视图函数

在 Django 中,视图函数是一个 Python 函数或者类,开发者主要通过编写视图函数来实现业务逻辑。视图函数首先接受来自浏览器或者客户端的请求,并最终返回响应,视图函数返回的响应可以是 HTML文件,也可以是 HTTP 协议中的 303 重定向。接下来编写一个简单的视图函数:

from django.http import HttpResponse
def Hello_my_django(request):return HttpResponse('<html><body>Hello my Django</body></html>')

下面针对以上 3 行代码做解析:

1)HttpResponse视图响应类型

从 django.http 模块中导入 HttpResponse,从它简单的名字我们可以得知,它是一种视图的响应类型。

2)视图函数参数request

我们定义了一个名为“Hello_my_django”的函数,Django 规定了,视图函数至少有一个参数,第一个参数必须是 request,request 是 HttpRequest 请求类型的对象,它携带了浏览器的请求信息,所以视图函数的第一个参数必须为 request。

3)return视图响应

视图函数要返回响应内容,这里的响应内容是我们用 HTML 标签编写的,把它作为 HttpResponse 的对象返回给浏览器。

2. 视图函数执行过程

上面视图函数的代码虽然区区几行,但是已经充分体现了视图层的实现过程。 Django 收到请求以后,首先创建一个带有请求信息的 HttpRequset 对象,将 HttpRequest 的对象 request 作为第一个参数传递给视图函数,视图接收参数后继续向下执行,然后选择加载对应的视图,最后返回 HttpResponse 对象给浏览器。

通过本节的介绍,我们应该理解 View 视图函数的作用,以及视图函数的定义过程。

http://www.lryc.cn/news/62738.html

相关文章:

  • Latex常用符号和功能记录
  • MySQL高级篇——索引的创建与设计原则
  • 王一茗: “大数据能力提升项目”与我的成长之路 | 提升之路系列(三)
  • MySQL:数据库的基本操作
  • 银行系统【GUI/Swing+MySQL】(Java课设)
  • 【社区图书馆】-《科技服务与价值链》总结
  • 工具链和其他-异步模块加载
  • 第一次使用R语言
  • 《语文教学通讯》栏目 收稿范围
  • Towards Principled Disentanglement for Domain Generalization
  • 计算机网络学习02
  • 网络交换机端口管理工具
  • redis五大命令kv设计建议内存淘汰
  • 如何真正认识 Linux 系统结构?这篇文章告诉你
  • 【移动端网页布局】流式布局案例 ① ( 视口标签设置 | CSS 样式文件设置 | 布局宽度设置 | 设置最大宽度 | 设置最小宽度 )
  • 力扣---LeetCode88. 合并两个有序数组
  • H7-TOOL的CANFD Trace全解析功能制作完成,历时一个月(2023-04-28)
  • 探析Android中的四类性能优化
  • ubuntu18.04 安装编译zlmediakit
  • C++ -5- 内存管理
  • (Linux)在Ubuntu系统中添加新用户并授予root权限
  • AttributeError: ‘ChatGLMModel‘ object has no attribute ‘prefix_encoder‘
  • Huggingface的GenerationConfig 中的top_k与top_p详细解读
  • 学生信息管理系统简易版(文件读写操作)
  • C/C++每日一练(20230426)
  • halcon灰度积分投影/垂直积分投影
  • Unity打包的apk在安卓4.4.2盒子上碰到的问题
  • docker的简单使用(centos7中为例)
  • Stable Diffusion人工智能图像合成
  • 【Java EE】-CSS详解