标签归档:Python

新版本的Flask中如何启动开发服务器和开启调试模式

从Flask 0.11版本开始,官方就建议使用flask run命令来取代app.run()方法运行开发服务器。尽管如此,两年多过去了,仍然有大量新发布的文章和教程在示例中使用app.run()方法启动程序。类似的,虽然内置的命令行支持已经非常完善,但还有很多人在使用Flask-Script。 阅读全文

Flask test_client()测试客户端为勾选框传递布尔值数据

今天写单元测试发现了一个常见的问题,即测试时发送POST请求时如何传入布尔值数据(勾选框字段值)?答案是:你没法直接传递布尔值。其实这个答案相当显而易见,客户端当然没法向服务器端发送Python类型的数据,数据的转换是在接受到请求数据后在服务器端进行的。之前在不借助Flask-WTF/WTForms,手动编写表单并处理时就已经注意到了这个问题,不过在测试中不太容易想到。 阅读全文

使用Python创建随机文件名

当用户上传文件时,为了进行统一处理,我们可以为所有文件创建随机文件名。Python标准库中的uuid模块很适合用来生成文件名。我一般会使用uuid.uuid4().hex作为随机文件名,因为它会返回16进制字符串形式的uuid,并且不包含连字符,更易读: 阅读全文

Pipenv:新一代Python项目依赖管理工具

 

什么是Pipenv

Pipenv是Kenneth Reitz在2017年1月发布的Python依赖管理工具,现在由PyPA维护。你可以把它看做是pip和virtualenv的组合体,而它基于的Pipfile则用来替代旧的依赖记录方式(requirements.txt)。 在这篇文章里,我将会以旧的依赖管理工作流程作为对比来介绍Pipenv的基本用法,更详细的用法可以参考Pipenv文档,或是Kenneth Reitz在PyCon 2018的演讲《Pipenv: The Future of Python Dependency Management》 顺便说一句,我的还没想好名字的Flask书中所有示例程序都使用了Pipenv进行依赖管理。
提示 如果你对virtualenv的用法以及虚拟环境的概念不熟悉的话,可以通过专栏的旧文《Flask出发之旅》进行简单的认识。

为什么使用Pipenv

Pipenv会自动帮你管理虚拟环境和依赖文件,并且提供了一系列命令和选项来帮助你实现各种依赖和环境管理相关的操作。简而言之,它更方便、完善和安全。你可以通过Pipenv文档开头的介绍来了解它的详细特性。Pipenv的slogan是“Python Dev Workflow for Humans”,作为人类,当然应该尝试一下……

如何使用Pipenv

假设我们要编写一个博客程序,项目的依赖是Flask和Flask-WTF。顺便说一句,可以使用下面的命令安装Pipenv:

阅读全文