蓝图 blueprint
app、蓝图与视图函数的结构如下:
视图函数可以注册在蓝图下,也可以直接注册到app下。
蓝图注册方式如下:
web = Blueprint('web', __name__)
根据上面的结构,所有蓝图都要注册到app下
def register_web_blueprint(app):
from app.web import web
app.register_blueprint(web)
def create_app(config=None):
app = Flask(__name__)
#: load default configuration
app.config.from_object('app.settings')
app.config.from_object('app.secure')
register_web_blueprint(app)
蓝图的定位
Blueprint是在大型项目中用来拆分模块的,比如web模块、api模块,并不适合在web中用来拆分文件。
request对象接收请求参数
?q=xx$page=xx
要接收这样的传参方式包括Post请求,获取请求地址的ip可以用request对象进行参数接收。
request对象由flask负责构建、维护,可以直接从flask里面导入,使用方式为:page = request.args['page']
知识点:
request的实现方式是代理,不能在脱离flask上下文环境中进行调用。简单来说,只有在发生http请求的地方才能使用request,也就是视图函数以及视图函数中调用的子函数。