环境搭建
完成一个Flask项目需要三个工具: – git:用于版本控制 – pip:用来安装各种包 – virtualenv:用来创建虚拟环境 git和pip是基本工具,就不多说了,这里主要介绍一下virtualenv。
virtualenv
virtualenv可以用来建立一个独立的Python虚拟环境。你可以为每一个项目建立不同的虚拟环境,各个环境互相独立。这样可以带来很多好处:方便分发项目,避免Python环境杂乱。 在Python3.4中,可以使用原生的pyvenv。 使用pip安装virtualenv
1 |
pip install virtualenv |
切换到你的项目目录,然后使用下面的命令创建一个虚拟环境
1 |
virtualenv venv |
venv 是虚拟环境的名字,你可以更改它,但一般常使用venv。每次要使用这个虚拟环境时,你都要激活它。在你的项目根目录使用下面的命令激活虚拟环境。
1 2 3 4 |
# Linux: source venv/bin/activate # Windows: venv\Scripts\activate |
激活以后你会看到你的命令行提示符前面多了一个虚拟环境的名称:(venv)
。当你需要退出虚拟环境时,在命令行下输入deactivate
即可。
项目结构
一个大的Flask项目需要合理的组织,比如把数据库模型、路由、表单等分别放在不同的文件里。良好的项目结构可以使开发更加高效,也利于代码的维护和测试。 典型的Flask项目结构是这样的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|-flask* 你的项目名称 |-app/ |-templates/ 模板文件 |-static/ 静态文件(CSS和JS文件,图片等) |-main/ |-__init__.py |-errors.py 错误处理 |-forms.py 表单 |-views.py 路由 |-__init__.py |-email.py 邮件 |-models.py 数据库模型 |-migrations/ 数据库迁移 |-tests/ 单元测试 |-__init__.py |-test*.py |-venv/ 虚拟环境 |-requirements.txt 项目依赖的库 |-config.py 配置(项目变量等) |-manage.py 管理(启动程序等) |
###requirements.txt(需求文件) 需求文件是你的项目所依赖的库和版本号。类似这样:
1 2 3 |
Flask==1.1 Flask-Bootstrap==3.0. Mako==1.4 |
借助这个需求文件,你可以在其他电脑上快速生成相同的环境。使用pip生成:
1 |
pip freeze >requirements.txt |
在其他的电脑创建副本时,使用下面的命令:
1 |
pip install -r requirements.txt |