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 创建视图函数,利用装饰器可以配置路由
通过专门的配置文件,读取配置项,适用于配置项较多
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/settings.py
class Config(object):
# 配置项在flask文档中已经规定好
?
DEBUG = True
app/__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()
?
?
原文:https://www.cnblogs.com/gaogang/p/14831905.html