Flask创建全局响应函数以从Web应用程序中的每个位置调用

时间:2020-04-14 19:55:08

标签: python flask

flask的新手,我有一个网络应用程序,其中包含很少的部分 例如:

utils/ 
-- utils.py
db/ 
-- oracle.py 
main.py 

我的问题是如何使global_response函数/处理程序可以从utils.py,oracle.py,main.py调用而不会出现线程问题
例如: 在utils.py

clas Utils():
  def A(self):
     return global_response("error","a")

oracle.py

 clas Utils():
      def ORA(self):
         return global_response("error ora","b")

main.py def some_fun(): 返回global_response(“错误主”,“ c”)

这是main.py中的响应函数,但是现在需要从任何位置调用:

def global_response(error_msg, title,*options):
    res = {"status": error_msg, "title": title}

    for option in options:
        res.update(option)

 return json.dumps(res)

1 个答案:

答案 0 :(得分:1)

您可以创建自定义响应类,而不是创建响应函数,该类将替换@bot.command() @commands.has_permissions(view_audit_log=True) async def alert(ctx, channel: discord.TextChannel, *, message): await channel.send(message) 的内置flask类。
该类将继承Response的{​​{1}}类,这意味着:

flask

为了生成一般响应,您应该调用Response方法。 您可以查看此link,以获取有关如何创建响应类的逐步说明。

旁注

  1. 我建议您检查class GlobalResponse(Response): pass 的{​​{1}}函数,该函数包装app.make_response并被认为是“更强的”(适用于更多情况)。

  2. 您可能想看看flask的{​​{1}} method