Flask进阶系列(八)–部署和分发

到目前为止,我们启动Flask应用都是通过app.run()方法,在开发环境中,这样固然可行,不过到了生产环境上,势必需要采用一个健壮的,功能强大的Web应用服务器来处理各种复杂情形。同时,由于开发过程中,应用变化频繁,手动将每次改动部署到生产环境上很是繁……

阅读全文

使用Nginx和uWSGI来运行Python应用

“uWSGI”是一个Web应用服务器,它具有应用服务器,代理,进程管理及应用监控等功能。它支持WSGI协议,同时它也支持自有的”uWSGI”协议,该协议据说性能非常高,而且内存占用率低,为”mod……

阅读全文

在Apache中运行Python WSGI应用

在生产环境上,一般会使用比较健壮的Web服务器,如Apache来运行我们的应用。如果我们的Web应用是采用Python开发,而且符合WSGI规范,比如基于Django,Flask等框架,那如何将其部署在Apache中呢?本文中,我们就会介绍如何使用Apac……

阅读全文

Python打包分发工具setuptools简介

作为Python标准的打包及分发工具,setuptools可以说相当地简单易用。它会随着Python一起安装在你的机器上。你只需写一个简短的setup.py安装文件,就可以将你的Python应用打包。本文就会介绍下如何编写安装文件及如何打包分发。 首先,如果……

阅读全文

Python远程部署利器Fabric详解

Fabric是一个Python的库,它提供了丰富的同SSH交互的接口,可以用来在本地或远程机器上自动化、流水化地执行Shell命令。因此它非常适合用来做应用的远程部署及系统维护。其上手也极其简单,你需要的只是懂得基本的Shell命令。本文将为大家详细介绍F……

阅读全文

Flask进阶系列(九)–测试

测试是每个应用系统发布前必须经历的步骤,自动化测试对测试效率的提高也是毋庸置疑的。对于Flask应用来说,当然可以使用Web自动化测试工具,比如Selenium等来测。Flask官方推荐的自动化测试方法是一种白盒测试,它依赖于Werkzeug的Client……

阅读全文

Flask进阶系列(五)–文件和流

当我们要往客户端发送大量的数据,比如一个大文件时,将它保存在内存中再一次性发到客户端开销很大。比较好的方式是使用流,本篇就要介绍怎么在Flask中通过流的方式来将响应内容发送给客户端。此外,我们还会演示如何实现文件的上传功能,以及如何获取上传后的文件。 系列……

阅读全文

Flask进阶系列(七)–应用最佳实践

一个好的应用目录结构可以方便代码的管理和维护,一个好的应用管理维护方式也可以强化程序的可扩展性。在Flask的官方文档,和一些网上资料中都给出了Flask大型应用最佳实践的建议,虽然各有不同,但是宗旨还是类似的。本篇就按我个人的总结,跟大家聊聊Flask应……

阅读全文

Flask进阶系列(六)–蓝图(Blueprint)

写进阶系列比入门系列累不少啊,很多地方都需要自己去反复验证,必要时还要翻翻源码,上一个视图写着写着就发现篇幅很长了。还好蓝图比较简单,这篇应该会比较简短,读者们请放心^_^ 我们的应用经常会区分用户站点和管理员后台,比如本博客所使用的WordPress,就有……

阅读全文

Flask进阶系列(四)–视图

终于结束了Jinja2的模板引擎之旅,让我们回到Flask中来。在一开始介绍Flask模板时,我们曾说过它是处在MVC模型中的View层,其实更确切的说,应该是模板渲染后的返回内容,才是真正的View,也就是视图。可以理解为,视图就是最终会显示在浏览器上的……

阅读全文