标签归档:Flask

Flask笔记索引

这个系列的文章是我学习Flask的经验总结。大致按照《Flask Web开发》这本书的主要章节来分类,总结书里内容的同时增加了其他内容。还有一些是我在开发翻相册的过程中遇到的问题和解决方案。预计在年底完成所有文章。

Flask开发

  1. 环境搭建与项目结构
  2. 程序配置与初始化
  3. 路由和视图函数
  4. 模板
  5. 表单
  6. 数据库
  7. 电子邮件
  8. 测试
  9. 部署

实际应用

  1. 用户认证
  2. 用户角色与权限
  3. Markdown文章
  4. 分页
  5. 关注 
  6. 应用编程接口

问题集

  1. 单个页面多个表单
  2. 文件和多文件上传
  3. 喜欢按钮
  4. 动态删除照片

Flask笔记(1):环境搭建与项目结构

环境搭建

完成一个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