环境搭建
完成一个Flask项目需要三个工具: – git:用于版本控制 – pip:用来安装各种包 – virtualenv:用来创建虚拟环境 git和pip是基本工具,就不多说了,这里主要介绍一下virtualenv。
virtualenv
virtualenv可以用来建立一个独立的Python虚拟环境。你可以为每一个项目建立不同的虚拟环境,各个环境互相独立。这样可以带来很多好处:方便分发项目,避免Python环境杂乱。 在Python3.4中,可以使用原生的pyvenv。 使用pip安装virtualenv
pip install virtualenv
切换到你的项目目录,然后使用下面的命令创建一个虚拟环境
virtualenv venv
venv 是虚拟环境的名字,你可以更改它,但一般常使用venv。每次要使用这个虚拟环境时,你都要激活它。在你的项目根目录使用下面的命令激活虚拟环境。
# Linux: source venv/bin/activate # Windows: venv\Scripts\activate
激活以后你会看到你的命令行提示符前面多了一个虚拟环境的名称:(venv)
。当你需要退出虚拟环境时,在命令行下输入deactivate
即可。
项目结构
一个大的Flask项目需要合理的组织,比如把数据库模型、路由、表单等分别放在不同的文件里。良好的项目结构可以使开发更加高效,也利于代码的维护和测试。 典型的Flask项目结构是这样的:
|-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(需求文件) 需求文件是你的项目所依赖的库和版本号。类似这样:
Flask==1.1 Flask-Bootstrap==3.0. Mako==1.4
借助这个需求文件,你可以在其他电脑上快速生成相同的环境。使用pip生成:
pip freeze >requirements.txt
在其他的电脑创建副本时,使用下面的命令:
pip install -r requirements.txt