当前位置: 首页 > 面试题库 >

将Python Flask应用拆分为多个文件

长孙谦
2023-03-14
问题内容

我在理解如何将Flask应用程序拆分为多个文件时遇到麻烦。

我正在创建一个Web服务,并且想将apihtml" target="_blank">拆分为不同的文件(AccountAPI.py,UploadAPI.py等),只是我没有一个巨大的python文件。

我读过你可以使用“蓝图”来做到这一点,但我不确定这条路线对我来说是正确的。

最终,我想运行一个Main python文件,并包含其他文件,以便在运行时将它们视为一个大文件。

例如,如果我有Main.py和AccountAPI.py,我希望能够做到这一点:

Main.py:

from flask import Flask
import AccountAPI

app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

AccountAPI.py:

@app.route("/account")
def accountList():
    return "list of accounts"

我知道这个例子显然行不通,但是有可能这样做吗?


问题答案:

是的,蓝图是实现此目标的正确方法。你正在尝试做的事情可以这样实现:

主程序

from flask import Flask
from AccountAPI import account_api

app = Flask(__name__)

app.register_blueprint(account_api)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

AccountAPI.py

from flask import Blueprint

account_api = Blueprint('account_api', __name__)

@account_api.route("/account")
def accountList():
    return "list of accounts"

如果这是一个选项,则你可以考虑为不同的API /蓝图使用不同的URL前缀,以便将它们完全分开。可以对上面的register_blueprint调用稍作修改即可完成此操作:

app.register_blueprint(account_api, url_prefix='/accounts')


 类似资料:
  • 问题内容: 我有从mongodb导出的json文件,如下所示: 大约有30000行,我想将每一行拆分成自己的文件。 (我正在尝试将我的数据转移到榻榻米群集上) 我尝试这样做: 但是我发现它似乎减少了行的负载,而当我期望30000个奇数时,运行此命令的输出仅给了我50个奇数文件! 有没有一种逻辑方法可以使此操作不使用任何适合的方法删除任何数据? 问题答案: 假设您不在乎确切的文件名,如果要将输入拆分

  • 问题内容: 将Spring的配置拆分为多个xml文件的正确方法是什么? 此刻我有 /WEB-INF/foo-servlet.xml /WEB-INF/foo-service.xml /WEB-INF/foo-persistence.xml 我有以下内容: 实际问题: 这种方法正确/最佳吗? 我真的需要同时指定中的配置位置 和该板块? 我需要记住什么才能能够引用中定义的?这与 指定有关吗? 更新1:

  • 问题内容: 我的体积太大了,很难找到正确的视图。 如何将其拆分为多个文件,然后导入?是否涉及速度损失? 我可以这样吗? 问题答案: 在Django中,所有内容都是Python模块(* .py)。你可以创建一个具有内部视图的文件夹,并且仍然可以导入视图,因为这也实现了Python模块。但是一个例子会更好。 你的原始图片可能如下所示: 使用以下文件夹/文件结构,它将起到相同的作用: viewsa.py

  • 问题内容: 有什么方法可以将.tfrecords文件直接拆分为多个.tfrecords文件,而无需回写每个Dataset示例? 问题答案: 您可以使用如下函数: 例如,要将文件分成100条记录,您可以执行以下操作: 这将创建多个较小的记录文件,等等。

  • 我正在尝试将一个PDF文档拆分为多个文档,其中每个文档包含的最大页数小于最大文件大小。 我的代码目前可以在Eclipse上运行,但是当我点击. jar文件时,java类中的静态方法似乎崩溃了(但是我似乎抓不到异常)。 不工作的代码是: myListOfDocuments=mysplitter。拆分(文件); 在调用上述行时,JVM会以某种方式退出静态方法。加载似乎工作正常,如下所示:PDDocum

  • 问题内容: 我有以下代码: 我将有许多服务(如一项服务),并且我不想将它们全部放在同一个文件中。 我在Stack Overflow中读了另一个问题,我可能需要这样的其他文件:在该文件中写入所有服务,但是当我启动Node时会抛出该错误。 如何分隔代码? 问题答案: 您可以在不同的文件(例如 test-routes.js)中 定义路由,如下所示: 现在在您的主文件中说出 server.js, 您可以像