Python 在实例化请求类之前报告请求实例的结果

Python 在实例化请求类之前报告请求实例的结果,python,flask,Python,Flask,我有这样一个视图函数来处理表单,在其中,我设置了一个`printrequest.form来测试请求实例 from flask import Flask, render_template, session, redirect, url_for, request from flask_bootstrap import Bootstrap from flask_moment import Moment from flask_wtf import FlaskForm from wtforms impor

我有这样一个视图函数来处理表单,在其中,我设置了一个`printrequest.form来测试请求实例

from flask import Flask, render_template, session, redirect, url_for, request
from flask_bootstrap import Bootstrap
from flask_moment import Moment
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
from wtforms.validators import DataRequired
@app.route('/', methods=['GET', 'POST'])
def index():
    form = NameForm()
    print(request.form)
    if form.validate_on_submit():
        session['name'] = form.name.data
        return redirect(url_for('index'))
    return render_template('index.html', form=form, name=session.get('name'))
然后服务器报告结果:

ImmutableMultiDict([('csrf_token', 'IjUwYjVlYTRiMzk5OTNiMjg1MGE3NjhiOWI2YjUwOTVjMmI5ODMyNmYi.XfBlbA.gSdMwVqFwhkaycx-y6v_r-GBNhQ'), ('name', 'test'), ('submit', 'Submit')])
我对这里的要求有点困惑

请求类是通过从flask导入请求导入的,但是,该类在开始工作之前尚未实例化

服务器从printrequest.form获取结果,但该请求未在视图脚本文件的任何角落实例化

若请求已全局实例化,则从flask导入请求中删除,printrequest将报告nameError


因此,flask首先读取导入的标题,然后在其他位置实例化它?

当flask应用程序收到请求时,它需要为处理它的视图函数提供一些对象。此查询的一个简单示例来自请求或某些表单数据。Flask可以让视图函数访问请求对象的一种方法是将其作为参数发送,另一种方法是创建一些全局可访问的对象。为了避免视图函数中包含大量可能需要或不需要的参数,Flask使用上下文临时使某些对象全局可访问。处理请求的原始线程可以使用当前的_app、g、请求和会话代理。有关更多详细信息,请参阅此处的文档。

是,但如果您不是来自flask导入请求,则无法访问全局请求。如果您要访问请求上下文,则需要导入。Flask在内部处理请求对象初始化和其他事情。