Python Flask 编程 | 连载 04 - Flask 响应

Flask生产部署:Gunicorn+Nginx在Ubuntu 20.04上的标准实践 Web应用部署中,WSGI服务器是Python Web框架(如Flask)与HTTP服务器之间的核心桥梁,其作用在于将HTTP请求标准化为Python可处理的WSGI环境。Gunicorn作为轻量级、专为Python设计的WSGI容器,凭借预分叉模型、低内存占用和纯Python配置等优势,成为Flask生产环境的事实标准;而Nginx则承担反向代理、SSL终止、静态资源服务与负载分发等网络层职责,二者协同构成高可用、可监控、安全合规的部署范式。该架构显著提升并发处理能力、增强系统稳定性,并支持HTTPS、日 阅读详情

一、Flask 响应

视图函数中返回的内容既响应,响应内容的数据类型可以是字符串,也可以是元组,响应内容可以包含响应体、状态码或者响应头。

增加视图函数 resp_str,响应内容为字符串。

python
复制代码
@app.route('/resp')
def resp_str():
    # 响应字符串
    return 'SUCCESS'

image.png

增加视图函数,在响应中添加状态码,此时的响应内容类型为一个元组。

python
复制代码
@app.route('/resp/status')
def resp_status():
    # 响应状态码
    return 'SUCCESS', 202

image.png

增加视图函数,在响应中添加响应头,响应头的形式为字段形式。

python
复制代码
@app.route('/resp/headers')
def resp_headers():
    return 'SUCCESS', 200, {'user': 'stark'}

image.png

也可以 make_response 构造一个响应对象并返回,在 app.py 中新增视图函数

python
复制代码
from flask import make_response

@app.route('/resp/obj')
def resp_obj():
    resp = make_response('SUCCESS, Response Object By make_response()', 200, {'user': 'stark'})
    resp.headers['token'] = 'ewaenkfaefadfeat'
    return resp

image.png

image.png

响应HTML

将响应体改为 html 内容就可以响应 HTML 页面

python
复制代码
@app.route('/resp/obj')
def resp_obj():
    html = '<h1>响应的HTML内容</h1>'
    # resp = make_response('SUCCESS, Response Object By make_response()', 200, {'user': 'stark'})
    resp = make_response(html, 200)
    resp.headers['token'] = 'ewaenkfaefadfeat'
    return resp

image.png

响应HTML模板

在 templates 目录下新建一个 base.html 页面

html
复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8"/>
    <title>HTML</title>
</head>
<body>
    <h1>这是响应的HTML模板</h1>
</body>
</html>

修改视图函数,该视图函数响应 HTML 内容。

python
复制代码
@app.route('/resp/obj')
def resp_obj():
    # html = '<h1>响应的HTML内容</h1>'
    # resp = make_response('SUCCESS, Response Object By make_response()', 200, {'user': 'stark'})
    # resp = make_response(html, 200)
    html = render_template('base.html')
    resp = make_response(html, 200)
    resp.headers['token'] = 'ewaenkfaefadfeat'
    return resp

image.png

重定向

在 Flask 视图函数中,redirect 函数可以实现重定向,重定向操作会向后端服务发出两次请求。

在 app.py 中增加视图函数 handle_redirect 和 hallo 函数。

python
复制代码
@app.route('/handle_redirect')
def handle_redirect():
    return redirect('/hallo')
    
@app.route('/hallo')
def hallo():
    return 'Hallo Flask'
   

保存后在浏览器地址栏中输入 /handle_redirect,可以看到页面会自动跳转到 /hallo 页面

image.png

查看请求过程可以确定发出了两次请求,第一次请求 /handle_redirect 时,响应码为 302,既重定向操作,然后会重定向到 /hallo 页面

image.png

错误处理

abort() 函数可以对错误进行处理且不需要 return,直接返回错误

定义一个视图函数

python
复制代码
@app.route('/handle_abort')
def handle_abort():
    abort(404)

image.png

返回的是 abort 函数默认的错误页面。

定制 abort 返回的错误页面

python
复制代码
@app.errorhandler(403)
def server_error(err):
    return '<h1>USER NOT FOUND ERROR</h1>'


@app.route('/handle_abort')
def handle_abort():
    user = None
    if user == None:
        abort(403)
    return 'SUCCESS'

image.png

这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!

优快云大礼包:全网最全《全套Python学习资料》免费分享🎁

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉优快云大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

​

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述
因篇幅有限,仅展示部分资料

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

5️⃣Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
在这里插入图片描述
在这里插入图片描述
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉优快云大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

​

Flask生产部署:Ubuntu 20.04下Gunicorn+Nginx+systemd完整实践 Web应用部署本质是组件职责的精确划分:Flask作为Python Web框架负责业务逻辑,Gunicorn作为WSGI服务器管理进程生命周期,Nginx承担反向代理与静态资源服务,systemd实现服务化治理。在Ubuntu 20.04这一主流LTS系统上,三者协同需规避常见陷阱——如flask run误用于生产、Unix socket权限错误、systemd日志未重定向、Nginx未透传HTTPS头等。本文聚焦可落地的最小可行配置集,覆盖进程隔离、热更新、健康检查、日志分级与资源约束等核心能力,适用于中 阅读详情

相关推荐

Flask 学习-7. make_response() 自定义响应内容

视图函数的返回值会自动转换为一个响应对象。如果返回值是一个字典,那么会调用 jsonify() 来产生一个响应。

qq_27371025的博客 4473

python学习笔记——flask之response

一、返回响应体数据 直接return返回就好 # coding:utf-8 from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'index page' # 运行程序 if __name__ == '__main__': print(app.url_map)#查看所有的路由信息 app.run(host='0.0.0.0',port=80,debug=True)

小橙子的博客 3959

Python Flask Web教程:make_response的详细用法

在 Flask 中,`make_response` 是一个非常实用的函数,它可以用来构造响应对象。

若北辰 1626

python Flask框架学习——Response响应

使用Response创建 from flask import Flask, Response app = Flask(__name__) @app.route("/") def main(): return Response(response='你好', status=200, content_type='text/html;charset=utf-8') if __name__ == '__main__': app.run() 使用make_response创建 使用make

cmy_top的博客 1299

Ubuntu 16.04离线安装Flask的完整指南

Jinja2是一个非常强大的模板引擎,用于Python。在Flask中,它用于渲染HTML页面。它支持模板继承和多种控制结构,使得页面设计更为灵活。与Werkzeug类似,Jinja2也会在安装Flask时自动被安装。

weixin_36231030的博客 823

MAX31865模块温度测量

本文主要介绍MAX31865 测温注意事项,并写出读取温度的示例代码,模块详细参数可以查阅相关手册,

7457

Python Flask 框架设置响应头,一篇文章学明白

函数来创建响应对象,然后遍历配置中的响应头来添加响应头了,该写法的优点是,我们可以在不修改应用程序代码的情况下更改响应头, 也可以根据环境来设置不同的响应头。Flask 有许多第三方扩展可以帮助你更简单的配置响应头, 比如 Flask-Cors,Flask-Security 等,这些内容以后用单独的博客进行说明。函数来返回特定状态码的响应,并设置响应头。中间件是一种在请求和响应之间添加额外处理的机制,可以使用中间件来设置响应头。除了在视图函数中设置响应头之外,Flask 还提供了其他方式来配置响应头。

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 7162

电机控制-PMSM无感FOC控制(四)SVPWM——过调制

上一章我们提到了SVPWM矢量合成的范围在一个平面的矢量圆内,那么当电压矢量超出调制范围时,该怎么做呢?这就是过调制要解决的问题。电机控制-PMSM无感foc控制(三)SVPWM据之前讲解的内容我们可以知道,SVPWM技术在电压空间上模拟了一个近似于圆的电压轨迹,减小了相电流的谐波,降低了电机的谐波损耗,抑制了转矩脉动。然而,SVPWM技术也存在一些问题,合成电压矢量有极限便是其中之一。这个半径为√3/3Vdc的区域也被称作SVPWM的线性区域。

zhuxinmingde的博客 1315

python 先return 后执行_Flask返回响应后执行函数

小编典典长话短说,Flask没有提供任何特殊功能来完成此任务。对于简单的一次性任务,请考虑使用Python的多线程,如下所示。对于更复杂的配置,请使用任务队列,例如RQ或Celery。为什么?重要的是要了解Flask提供的功能以及为什么它们无法实现预期的目标。所有这些都在其他情况下很有用,并且很好阅读,但对后台任务没有帮助。Flask的after_request处理者Flask的after_req...

weixin_39609503的博客 3866

Qt C++实现HTTP/HTTPS服务器与客户端:从Socket到协议解析全流程

HTTP协议作为Web通信的基础,定义了客户端与服务器之间基于文本的请求-响应模型。其工作原理是通过TCP连接传输结构化的报文,实现资源获取与数据交换。在C++开发中,掌握HTTP协议底层实现具有重要技术价值,能够帮助开发者构建高性能、可深度定制的网络应用,尤其适用于嵌入式设备管理、桌面应用后端等场景。本文聚焦于使用Qt框架的QTcpSocket和QSslSocket组件,从Socket层面手动实现完整的HTTP/HTTPS通信栈,涵盖协议解析、流式处理、路由分发等核心环节,并深入探讨了HTTPS证书验证、

weixin_31292729的博客 330

倍福PLC--PERSISTENT断电保持数据和BOOT中各文件对应的解析

将D:\TC3程序\TwinCAT Project146\TwinCAT RT(x86)\Plc 文件夹的中三个替换文件复制到:G:\TwinCAT\3.1\Boot\Plc完成替换,如下图。(2) 找到程序所存的路径,编程电脑的D:\TC3程序\TwinCAT Project146路径下,并选择对应系统平台TwinCAT RT(x86)(3) 控制器断电,拔出内存卡,使用读卡器,在编程电脑中打开:(本次测试读卡器为G盘)(5) 开机完成后,TwinCAT自动运行,当前闪灯频率为50ms。

weixin_41883890的博客 2344

Flask-安装-helloFlask-URL捕获参数-flask-script插件-响应对象-重定向

flask框架详细学习

weixin_45054115的博客 795

基于ZYNQ的HP总线与DDR交互:实现PL与PS高效数据传输的完整指南

本文将深入探讨如何通过AXI HP总线实现PL与PS的DDR交互,结合代码示例、硬件配置与创新优化,助力开发者掌握这一关键技术。ZYNQ内部通过AXI HP接口直接连接PL与DDR控制器,PL通过AXI协议发送读写请求,绕过PS的CPU直接操作DDR。通过AXI HP总线实现PL与PS的DDR交互,开发者可充分发挥ZYNQ异构架构的优势。在Xilinx ZYNQ系列芯片中,PS(Processing System)与PL(Programmable Logic)的协同设计是其核心优势。

QQ_778132974的博客 1223

Flask生产部署:Gunicorn+Nginx在Ubuntu 20.04上的最佳实践

WSGI服务器是Python Web应用面向生产环境的核心中间件,它负责将符合WSGI协议的Python应用(如Flask)与HTTP服务器解耦。Gunicorn作为轻量级、高稳定性的WSGI实现,凭借预叉工作模式、内置超时控制和systemd友好设计,成为Ubuntu 20.04等LTS系统中Flask部署的首选容器。其技术价值在于提供进程隔离、优雅重启与内存安全阀,显著提升服务可用性;结合Nginx作为反向代理,可实现SSL终止、静态文件高效分发、连接缓冲与安全加固,构成典型的边缘-应用分层架构。本文聚

cuili5839的博客 300

CCAR-23《正常类飞机适航规定》和CCAR-25《运输类飞机适航规定》差异分析

通过详细比较CCAR-23和CCAR-25在适用范围、设计标准、性能要求、运行限制、安全冗余和环境适应性方面的差异,我们可以看出,CCAR-23适用于轻型飞机,开发和运营成本较低,设计要求相对简单。而CCAR-25适用于大规模运输飞机,设计、开发、测试和运营管理都需要更高的复杂性和投入。

qq_41854911的博客 3706

【机器学习】随机森林(Random Forest,简称 RF):预测光伏电站功率 || 缺失数据处理 || 重复行处理...

【机器学习】随机森林(Random Forest,简称 RF):预测光伏电站功率。

追光者♂:记录、分享、总结、提升,现象级专栏《Python从入门到人工智能》作者,无惧黑暗,坚信曙光 1648

Flask生产部署:uWSGI+Nginx在Ubuntu 18.04上的实战配置

Web应用部署中,Python Web框架(如Flask)需通过WSGI服务器与反向代理协同工作,才能满足生产环境对并发处理、安全防护和静态资源服务的要求。其核心原理是分层解耦:Flask专注业务逻辑,uWSGI负责协议转换与进程管理,Nginx承担连接处理、SSL终止、请求缓冲及动静分离。这种架构显著提升系统稳定性、安全性与性能,广泛应用于轻量API网关、内部管理系统及教学实验平台。本文基于长期运维实践,详解uWSGI与Nginx在Ubuntu 18.04这一稳定LTS环境下的协同配置要点,涵盖socke

aibi9196的博客 451

《手把手教你玩转RTOS操作系统》专栏简介

《手把手教你玩转RTOS操作系统》专栏系统讲解实时操作系统开发,以FreeRTOS为主线,结合RT-Thread和Zephyr对比分析。内容涵盖RTOS基础、任务管理、通信机制、中断处理等核心知识,并配套STM32/ESP32平台实战项目。专栏特色在于零基础友好、实战驱动、多系统对比和行业趋势分析,适合嵌入式开发者进阶RTOS开发能力,解决实际项目中的选型与优化问题。通过完整学习路径,读者可掌握构建高可靠性嵌入式系统的关键技能。

MHD0815的博客 531

Flask生产部署实战:Gunicorn+Nginx+Ubuntu 18.04全栈配置

Web应用部署是指将开发完成的代码在服务器上稳定、安全、高效地对外提供服务的过程。其核心原理在于分离关注点——用反向代理(如Nginx)处理网络层任务(SSL终止、静态资源、限流、真实IP透传),用WSGI服务器(如Gunicorn)管理Python进程生命周期(多worker、自动重启、内存控制),从而弥补Flask内置服务器单线程、无防护、不支持高并发的先天缺陷。该技术组合显著提升应用可用性、安全性与可维护性,广泛应用于政务系统、企业内网、边缘设备等对稳定性与兼容性要求严苛的生产场景。本文聚焦真实环境约

weixin_34280237的博客 431

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Flask生产部署:Gunicorn+Nginx在Ubuntu 18.04上的分层架构实践

Web服务部署中,Flask作为轻量级WSGI应用框架,其内置服务器仅适用于开发调试,不具备高并发处理、进程守护、SSL终止和安全防护等生产必需能力。真正的生产就绪依赖分层协作模型:Gunicorn作为Python应用容器,负责多进程管理、请求超时控制与优雅重启;Nginx作为反向代理网关,承担静态资源托管、HTTPS卸载、连接限速与DDoS基础防御。该架构尤其适配Ubuntu 18.04这一长期支持系统,因其稳定内核、Python 3.6兼容性及成熟systemd服务体系,广泛支撑图书管理系统、内部OA等

lizaochengwen的专栏 363

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Flask生产部署:Gunicorn+Nginx+Ubuntu 22.04完整工作流

Web应用部署本质上是将开发态代码转化为高可用、可运维的线上服务的过程。其核心原理在于分层解耦:WSGI服务器(如Gunicorn)专注Python应用并发与进程治理,反向代理(如Nginx)负责网络层优化与安全防护,而稳定操作系统(如Ubuntu 22.04 LTS)则提供长期安全更新与systemd标准化进程管理。这一技术组合不仅显著提升Flask应用的吞吐能力、容错性与HTTPS支持能力,更成为企业级Python Web服务的事实标准架构。典型应用场景包括内部管理系统、API中台、数据看板及前后端分离

weixin_33795806的博客 368

python flask入门_Python

FLask 本身“轻”的特点,让你的学习不会那么“重”,掌握核心知识就能进行开发 ,更容易获得成就感,学习也就会更有动力,另外,FLask虽轻,但Flask 很强,内核+扩展的特点,让FLask 拥有“快速”开发各种类型应用的能力。这次课,我们的立意就是"快",快速从Python小白到初级Python工程师以轻量级Python框架Flask,更轻松的完成Python小白的蜕变快速"过渡"从语法回顾...

weixin_33478314的博客 272

Flask框架

Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架。 Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login,数据库Flask-SQLAlchemy),都需要用第三方的扩展来实现。比如可以用 Flask 扩展加入ORM、窗体验证工具,文件上传、身份验证等。Flask 没有默认使用的数据库,你可以选择 MySQL,也可以用 NoSQ

有用的话关个注,点个赞,收个藏🫶。 2079

flask毕设响应式企业网站(程序+论文)

响应式网站设计(Responsive Web Design, RWD)作为一种新兴的网站设计技术,通过自适应布局、媒体查询等技术手段,确保网站在各种设备和屏幕尺寸上都能提供良好的用户体验。因此,本选题将以响应式企业网站为研究情景,重点分析和研究如何根据企业需求,设计并实现一个功能完善、用户体验良好的响应式企业网站,以期探寻响应式网站设计在企业应用中的问题原因和机制,提出对策建议,为后续更加深入的研究提供基础。同时,还需要注重网站的性能优化和安全性设计,确保网站的稳定运行和数据安全。

zhihao503的博客 1073

Ubuntu 18.04 上 Flask + Vue 生产部署:Gunicorn 与 Nginx 落地实践

Web 应用部署本质是将 Python Web 框架(如 Flask)通过 WSGI 协议接入生产级 HTTP 服务器的过程。其核心原理在于分层解耦:Gunicorn 作为 WSGI 服务器,负责进程管理、并发处理与 Python 运行时隔离;Nginx 作为反向代理与边缘网关,承担 SSL 终结、静态资源服务、负载均衡与安全防护。该组合在 Ubuntu 18.04 等长期支持系统中具备极高的稳定性与兼容性,尤其适配图书管理系统、API 服务及 Vue 前后端分离架构等典型场景。技术价值体现在零配置陷阱的

java2000.net 456

Flask对HTTP请求及响应

参数的获取 from flask import Flask, request, render_template, redirect from flask import jsonify from werkzeug.routing import BaseConverter app = Flask(__name__) @app.route("/") def say_hello(): my_str = 'asdasd' my_int = 1231 # data = dict

sunkanghui的博客 1526
上一篇: 数据分析精通不要太简单,这四个方面来带大家学习数据分析
下一篇: 371页 Python编程入门文档,从入门到实战,学完足够你起飞!
Llama-Turbo
博客等级 码龄4年 9901粉丝 2022原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值