在行动之前。。。仅限:如何在python flask中执行此操作?
我需要将ruby代码更改为python,对此我也是新手。有没有人能告诉我有没有像之前那样的功能。。。仅限:在python烧瓶中? 这是我要更改的功能:在行动之前。。。仅限:如何在python flask中执行此操作?,python,flask,Python,Flask,我需要将ruby代码更改为python,对此我也是新手。有没有人能告诉我有没有像之前那样的功能。。。仅限:在python烧瓶中? 这是我要更改的功能: class IftttController < ActionController::Base before_action :return_errors_unless_valid_service_key before_action :return_errors_unless_valid_action_fields, only: :cr
class IftttController < ActionController::Base
before_action :return_errors_unless_valid_service_key
before_action :return_errors_unless_valid_action_fields, only: :create_new_thing
def return_errors_unless_valid_service_key
unless request.headers["HTTP_IFTTT_SERVICE_KEY"] == IFTTT_SERVICE_KEY
return render plain: { errors: [ { message: "401" } ] }.to_json, status: 401
end
end
def return_errors_unless_valid_action_fields
if params[:actionFields] && params[:actionFields][:invalid] == "true"
return render plain: { errors: [ { status: "SKIP", message: "400" } ] }.to_json, status: 400
end
end
end
有人能帮我吗?非常感谢。Flask应用程序有几个挂钩,允许用户在请求之前或之后运行函数:
app = Flask(...)
@app.before_request
def i_have_been_called():
print('I have been called')
这应该是我在每次请求之前被调用到控制台的输出
其他内置到Flask中的钩子包括before_请求、before_first_请求、before_请求、teardown_appcontext等等
至于唯一的:params,烧瓶里没有这样的东西。您必须编写函数来检查这种情况:
@app.before_request
def i_prefer_post():
from flask import request
if request.method == 'POST':
print('I prefer POST')
要在这里回答您的问题,您可能需要提供更多的细节。也许在我采取行动之前,我对ruby ism一无所知,但作为一名Python程序员,你的问题让我完全无话可说。你能给一些你的代码,包括你正在试图转换的Ruby代码的相关部分和你到目前为止所写的Python代码吗
@app.before_request
def i_prefer_post():
from flask import request
if request.method == 'POST':
print('I prefer POST')