python - 无法访问python烧瓶中的请求
问题描述
当用户访问特定页面时,我正在尝试访问请求标头。这是一个 cron 函数,根据这个链接。我应该能够通过检查标头 X-Appengine-Cron 来确定请求是否来自服务帐户。我已经尝试过了,并且在我的整个应用程序中一直在使用 request 没有问题,但是为此它返回错误:
local variable 'request' referenced before assignment
我已经尝试复制其他利用请求的功能,但是那里没有问题。我正在使用一个非常基本的测试来检查它是否正常工作:
from flask import (
Blueprint, Flask, flash, g, redirect, render_template, request, url_for
)
@app.route('/cloud-datastore-export', methods = ['GET'])
def cloud_datastore_export():
test = request.headers.get('X-Appengine-Cron')
我希望测试包含 X-Appengine-Cron 值。
解决方案
消息:
local variable 'request' referenced before assignment
是个好建议。实际上,您没有在代码中的任何地方定义请求。
当你用@app.route
.
因此:
您只能从装饰有 app 是 flask.Flask 类的实例的方法中正确@app.route
访问请求。
例如:
from flask import Flask
# (some code here)
app = Flask(__name__)
@app.route('/path/to/this/method')
def my_handler():
headers = request.headers
# (some more logic here)
推荐阅读
- api - 使用 d3.js 的可缩放条形图
- java - MATLAB中的datestr函数到Java
- javascript - 如何使用 .reduce 函数将键值数组转换为对象数组?
- python - python https认证错误?
- mysql - mysql 5.7 中的查询比 5.1 慢 2 倍或更多倍
- c# - 从其他较小的 DataTable 填充 DataTable
- python - 在不删除注释的情况下更改 python 中的配置文件
- java - 如何高效地读写 Parquet 文件?
- neo4j - 使用 neo4j 计算 DBLP 中的自引计数
- revit-api - revit Api:FamilyInstance(door) 的 FacingFlipped 属性给出不同的值?