学习Flask


Demo:

https://github.com/songjian/flask-demo

参考:

  1. https://flask.net.cn/
  2. https://flask.net.cn/quickstart.html#quickstart (快速上手)

基础

  • Werkzeug 用于实现 WSGI ,应用和服务之间的标准 Python 接口。
  • Jinja 用于渲染页面的模板语言。
  • MarkupSafe 与 Jinja 共用,在渲染页面时用于避免不可信的输入,防止注入攻击。
  • ItsDangerous 保证数据完整性的安全标志数据,用于保护 Flask 的 session cookie。
  • Click 是一个命令行应用的框架。用于提供 flask 命令,并允许添加自定义 管理命令。

虚拟环境

Python 3 内置了用于创建虚拟环境的 venv 模块。

建议在开发环境和生产环境下都使用虚拟环境来管理项目的依赖。

为什么要使用虚拟环境?随着你的 Python 项目越来越多,你会发现不同的项目会需要 不同的版本的 Python 库。同一个 Python 库的不同版本可能不兼容。

虚拟环境可以为每一个项目安装独立的 Python 库,这样就可以隔离不同项目之间的 Python 库,也可以隔离项目与操作系统之间的 Python 库。

Python 3 内置了用于创建虚拟环境的 venv 模块。如果你使用的是较新的 Python 版本,那么请接着阅读本文下面的内容。

如果你使用 Python 2 ,请首先参阅 安装 virtualenv 。

创建一个虚拟环境

创建一个项目文件夹,然后创建一个虚拟环境。创建完成后项目文件夹中会有一个 venv 文件夹:

$ mkdir myproject
$ cd myproject
$ python3 -m venv venv

激活虚拟环境

在开始工作前,先要激活相应的虚拟环境:

$ . venv/bin/activate

安装 Flask

在已激活的虚拟环境中可以使用如下命令安装 Flask:

$ pip install Flask

如果想要知道文件上传之前其在客户端系统中的名称,可以使用 filename 属性。但是请牢记这个值是 可以伪造的,永远不要信任这个值。如果想要把客户端的文件名作为服务器上的文件名, 可以通过 Werkzeug 提供的 secure_filename() 函数:

from flask import request
from werkzeug.utils import [email protected]('/upload',methods=['GET',' T'])

def upload_file():
    if request.method=='POST':
        f=request.files['the_file']
        f.save('/var/www/uploads/'+secure_filename(f.filename))
,

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注