一周学会Django5 Python Web开发-Django5设置视图响应状态

锋哥原创的Python Web开发 Django5视频教程:

2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计25条视频,包括:2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~、第2讲 Django5安装、第3讲 Django5创建项目(用命令方式)等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV14Z421z78C/客户端请求后端服务,在view.py视图层方法最终return 返回视图响应。Python内置提供了响应类型,来实现不同的返回不同的http状态码;

响应类型解释说明
HttpResponse('Hello world'")状态码200,请求已成功被服务器接收
HttpResponseRedirect('/')状态码302,重定向首页地址
HttpResponsePermanentRedirect('/')状态码301,永久重定向首页地址
HttpResponseBadRequest("'400')状态码400,访问的页面不存在或请求错误
HttpResponseNotFound('404")状态码404,网页不存在或网页的URL失效
HttpResponseForbidden('403')状态码403,没有访问权限
HttpResponseNotAllowed('405')状态码405,不允许使用该请求方式
HttpResponseServerError('500'")状态码500,服务器内容错误
JsonResponse( {'foo' : 'bar'})默认状态码200,响应内容为JSON数据
StreamingHttpResponse()默认状态码200,响应内容以流式输出

下面我们举几个例子来实操下视图响应状态应用;

举例一:HttpResponse

修改helloWorld的views.py的index函数:

def index(request):
    html = "<font color='red'>学Python,上www.python222.com</font>"
    return HttpResponse(html, status=200)

请求测试,状态码200,返回网页信息。status=200不写的话默认也是200.

举例二:HttpResponseNotFound 404

def index(request):
    return HttpResponseNotFound()

请求测试,状态码404。

举例三:JsonResponse 响应json数据

def index(request):
    return JsonResponse({'foo': 'bar'})

请求测试,状态码200,返回json格式数据。

我们第一个实例用到的是HttpResponse,简单网页我们直接可以响应到页面,但是假如是复杂网页,就会增加视图函数的代码量。所以我们引入模版,通过django提供的render方法渲染数据到模版,然后再响应到页面。

def index(request):
    return render(request, 'index.html')

这个是我们前面的的HelloWorld代码,我们ctrl点进去render方法,看下源码:

经过模版渲染后得到content网页内容,依然返回的是HttpResponse对象。

render方法定义:

def render(
    request, template_name, context=None, content_type=None, status=None, using=None
):

request和template_name是必须的参数。其他参数可选。

- request:浏览器向服务器发送的请求对象,包含用户信息、请求内容和请求方式等。
- template_name:设置模板文件名,用于生成网页内容。
- context:对模板上下文(模板变量)赋值,以字典格式表示,默认情况下是一个空字典。
- content_type:响应内容的数据格式,一般情况下使用默认值即可。
- status: HTTP状态码,默认为200.
- using:设置模板引擎,用于解析模板文件,生成网页内容。

我们再写一个带字典参数的render渲染模版实例:

views.py改写下:

def index(request):
    content_value = {"msg": '学Python,上www.python222.com'}
    return render(request, 'index.html', context=content_value)

模版代码改写下,模版里取值语法 {{ 字典的key值 }}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
模版取值: {{ msg }}
</body>
</html>

请求测试:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/401428.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

压缩感知(Compressed Sensing)的MATLAB仿真实现

在前一篇文章&#xff1a;正交匹配追踪&#xff08;Orthogonal Matching Pursuit, OMP&#xff09;的MATLAB实现中&#xff0c;我们介绍了针对稀疏信号进行压缩感知的MATLAB仿真。 本篇我们介绍一下针对的是原始的非稀疏信号&#xff0c;看看如何进行处理。 本文中&#xff0c;…

定制学习风格、满足多元需求:Mr. Ranedeer 帮你打造 AI 家教 | 开源日报 No.178

JushBJJ/Mr.-Ranedeer-AI-Tutor Stars: 20.4k License: NOASSERTION Mr. Ranedeer 是一个个性化的 AI 辅导项目&#xff0c;主要功能包括使用 GPT-4 生成定制化提示&#xff0c;为用户提供个性化学习体验。其核心优势和特点包括&#xff1a; 调整知识深度以满足学习需求定制学…

原生 复选框 input[type=“checkbox“] 样式修改

样式&#xff1a; input[type"checkbox"] {position: relative;width: 25px;height: 25px;/* 用于控制 UI 控件的基于操作系统主题的原生外观。none 隐藏部件的某些特性 */appearance: none; }input[type"checkbox"]::before {content: "";posi…

采用uniapp实现的银行卡卡片, 支持H5和微信小程序

采用uniapp-vue3实现的银行卡卡片 支持H5、微信小程序&#xff08;其他小程序未测试过&#xff0c;可自行尝试&#xff09; 可用于参考学习 可到插件市场下载尝试&#xff1a; https://ext.dcloud.net.cn/plugin?id16736 使用示例

ansible的剧本

1 playbook 剧本 1.1 playbooks的组成 Tasks 任务&#xff0c;即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行 Variables 变量 Templates 模板 Handlers 处理器&#xff0c;当changed状态条件满足时&#xff0c;&#xff08;notify&#xff09…

“TypeError: utils request jS WEBPACK IMPORTED MODULE O .default is undefined‘报错

写项目时报下列错误&#xff0c;找了半天&#xff0c;结果才发现自己在request.js中少写了一行代码 一定不要少些代码 export default requestrequest.js完整代码 import axios from axios;//创建一个新的axios对象 const request axios.create({baseURL:http://localhost:…

AIDL的工作原理与使用示例 跨进程通信 远程方法调用RPC

AIDL的介绍与使用 AIDL&#xff08;Android Interface Definition Language&#xff09;是Android中用于定义客户端和服务端之间通信接口的一种接口定义语言。它允许你定义客户端和服务的通信协议&#xff0c;用于在不同的进程间或同一进程的不同组件间进行数据传递。AIDL通过…

SpringCloud Ribbon负载均衡的策略总结及其配置

1. 轮询策略 2. 权重轮询策略 3. 随机策略 4. 最少并发数策略 5. 在选定的负载均衡策略基础上重试机制 6. 可用性敏感策略。 7. 区域敏感策略 —————————————————————— Ribbon负载均衡策略的配置&#xff1a; 在application.yml中配置如下&am…

功能问题:如何开发一个自己的 VS Code 插件?

大家好&#xff0c;我是大澈&#xff01; 本文约1100字&#xff0c;整篇阅读大约需要3分钟。 感谢关注微信公众号&#xff1a;“程序员大澈”&#xff0c;免费领取"面试礼包"一份&#xff0c;然后免费加入问答群&#xff0c;从此让解决问题的你不再孤单&#xff01…

linuxshell日常脚本命令之sleep延时

shell之sleep指定延时单位(六) 用于延时打印或延时在超算投放任务 for i in $(seq 1 10);do echo $i;sleep 2m;done

机器学习面试:逻辑回归与朴素贝叶斯区别

逻辑回归与朴素贝叶斯区别有以下几个方面: (1)逻辑回归是判别模型&#xff0c;朴素贝叶斯是生成模型&#xff0c;所以生成和判别的所有区别它们都有。 (2)朴素贝叶斯属于贝叶斯&#xff0c;逻辑回归是最大似然&#xff0c;两种概率哲学间的区别。 (3)朴素贝叶斯需要条件独立假设…

Day10_面向对象-抽象类-接口-课后练习-参考答案

文章目录 代码编程题第1题第2题第3题 代码编程题 第1题 知识点&#xff1a;抽象类语法点&#xff1a;继承&#xff0c;抽象类按步骤编写代码&#xff0c;效果如图所示&#xff1a; 编写步骤&#xff1a; 定义抽象类A&#xff0c;抽象类B继承A&#xff0c;普通类C继承BA类中&…

IDEA 2021.3激活

1、打开idea&#xff0c;在设置中查找Settings/Preferences… -> Plugins 内手动添加第三方插件仓库地址&#xff1a;https://plugins.zhile.io搜索&#xff1a;IDE Eval Reset 插件进行安装。应用和使用&#xff0c;如图

迈向三维:vue3+Cesium.js三维WebGIS项目实战--持续更新中

写在前面&#xff1a;随着市场对数字孪生的需求日益增多&#xff0c;对于前端从业者的能力从对框架vue、react的要求&#xff0c;逐步扩展到2D、3D空间的交互&#xff0c;为用户提供更紧密的立体交互。近年来前端对GIS的需求日益增多。本文将记录WebGIS的学习之旅&#xff0c;从…

Vue3-组合式Api(重点)

阅读文章你可以收获的知识 1.知道setup语法糖的使用和如何实现的 2.知道在vue3中如何定义响应式数据 3.知道在vue3中如何定义一个计算属性&#xff08;computed&#xff09; 4.知道如何在vue3中使用watch来监听数据 5.知道在vue3如何实现父子通信 6.知道vue3如何使用ref函…

前端架构: 脚手架之Chalk和Chalk-CLI使用教程

Chalk Chalk 是粉笔的意思, 它想表达的是&#xff0c;给我们的命令行中的文本添加颜色类似彩色粉笔的功能 在官方文档当中&#xff0c;它的 Highlights 核心特性 Expressive API Highly performant No dependencies Ability to nest styles 256/Truecolor color support Auto-…

dell r740服务器黄灯闪烁维修现场解决

1&#xff1a;首先看一下这款DELL非常主力的PowerEdge R740服务器长啥样&#xff0c;不得不说就外观来说自从IBM抛弃System X系列服务器后&#xff0c;也就戴尔这个外观看的比较顺眼。 图一&#xff1a;是DELL R740前视图&#xff08;这款是8盘机型&#xff09; 图二&#xff…

【算法与数据结构】1020、130、LeetCode飞地的数量 被围绕的区域

文章目录 一、1020、飞地的数量二、130、被围绕的区域三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、1020、飞地的数量 思路分析&#xff1a;博主认为题目很抽象&#xff0c;非常难理解。想了好久&#xff0c;要理解…

(っ•̀ω•́)っ 如何在PPT中为文本框添加滚动条

本人在写技术分享的PPT时&#xff0c;遇到问题&#xff1a;有一大篇的代码&#xff0c;如何在一张PPT页面上显示&#xff1f;急需带有滚动条的文本框&#xff01;百度了不少&#xff0c;自己也来总结一篇&#xff0c;如下&#xff1a; 1、找到【文件】-【选项】 2、【自定义功…

基于 QUIC 协议的 HTTP/3 正式发布!

近期&#xff0c;超文本传输协议新版本 HTTP/3 RFC 文档&#xff0c;已由互联网工程任务组&#xff08;IETF&#xff09;对外发布。HTTP/3 全称为 HTTP-over-QUIC&#xff0c;指在 QUIC&#xff08;Quick UDP Internet Connections, 快速 UDP 互联网连接&#xff09;上映射 HTT…