Python 在实例化请求类之前报告请求实例的结果
我有这样一个视图函数来处理表单,在其中,我设置了一个`printrequest.form来测试请求实例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
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在内部处理请求对象初始化和其他事情。