Flask的环境配置
Flask
django
是大而全,提供所有常用的功能
flask
是小而精,只提供核心功能
环境配置
为了防止 django和 flask环境相互冲突,可以使用 虚拟环境分割开
pip install virtualenv virtualenvwrapper-win # 安装虚拟环境基本的依赖包
mkvirtualenv flask # 创建一个叫 flask的虚拟环境
deactivate # 退出当前虚拟环境
rmvirtualenv flask # 删除名叫 flask的虚拟环境
workon flask # 进入虚拟环境flask
pip install -r requirements.txt # 在虚拟环境中安装flask必备的包
基本流程
配置项可以参考 官方 文档
-
创建
flask
APP -
定义视图函数
-
对视图函数配置路由
-
使用装饰器,配置路由
-
调用app的方法
add_url_rule
对视图函数配置路由
-
-
运行APP
-
from flask import Flask
# __name__ 当前 文件的名字
# __file__ 当前 文件的路径
# 1. 创建flask的app
app = Flask(__name__)
# 2.1 创建视图函数,利用装饰器可以配置路由
@app.route("/")
def hello():
return "hello Flask"
# 2.2.1 创建视图函数
def two():
return "two page"
# 2.2.2 利用app的方法对视图函数添加路由
app.add_url_rule("/two", view_func=two)
if __name__ == "__main__":
# 3. 运行APP
app.run()项目配置
配置文件
通过专门的配置文件,读取配置项,适用于配置项较多
settings.py
class Config(object):
DEBUG = True主模块
import os
from flask import Flask
from settings import Config
app = Flask(__name__)
# app.config.from_object("settings.Config")
app.config.from_object(Config)
@app.route("/")
def hello():
return "hello Flask"
if __name__ == "__main__":
app.run()工厂模式
如果在一个函数中 创建对象,那么就可以创建多个实例。
那么这样做有什么用呢?
-
用于测试。可以针对不同的情况使用不同的配置来测试应用。
-
用于多实例,如果你需要运行同一个应用的不同版本的话。当然你可以在服务器上 使用不同配置运行多个相同应用,但是如果使用应用工厂,那么你可以只使用一个 应用进程而得到多个应用实例,这样更容易操控。
app/settings.py
class Config(object):
# 配置项在flask文档中已经规定好
DEBUG = Trueapp/__init__.py
from flask import Flask
from .settings import Config
def create_app():
# 1. 创建app对象
app = Flask(__name__)
# 2. 导入配置类
app.config.from_object(Config)
# 3. 返回 flask对象
return app
主模块
main.py
# 1. 导入工厂函数
from app import create_app
# 2. 生成APP
app = create_app()
@app.route("/")
def hello():
return "hello Flask"
if __name__ == "__main__":
# 3. 启动flask服务
app.run(host="0.0.0.0", port=7000, debug=True) -