【问题标题】:Calling a function on HTML page, not found在 HTML 页面上调用函数,未找到
【发布时间】:2023-01-10 04:32:31
【问题描述】:

我正在编写一个工具来记录和监控一系列设备的停机时间。

我的文件结构如下: File Structure

Sites 只是一个子文件夹,其中包含设备所在位置的单独 HTMLS。

目前,flask 运行 webapp.py 其中包含:

>from . import app
>#app = (__init__.app) 
>from . import views 
>from . import ReportingTool

views.py 包含我所有的 @app.route,直到 [site].html 文件。从那里,在 [site].html 文件上,我要求用户输入。我还没有开始编写代码以任何有意义的方式记录用户输入,只是想将数据获取到 python 脚本并将它们提交给变量。为此,在我的html文件中

<body>
    <div class="menu">
        <form method="post" enctype="multipart\form-data" action="{{ url_for('downTime') }}">
            <fieldset class="datafieldset">

然后,这会以多个字段集的形式向用户请求不同的数据,如下所示:fieldsets

正如您在上面的代码 sn-p 中看到的,我将操作设置为 url_for('downTime'),downTime 是我的 python 文件 ReportingTool.py 中的一个函数。这会抛出一个错误,“werkzeug.routing.exceptions.BuildError:无法为端点‘downTime’构建 url。你是说‘supportguide’吗?” traceback

是否需要在 html 文档上添加或指定某些内容以启用此页面(以及其他 [site].html 页面以从 ReportingTool.py 文件调用函数?调用 [site].html 的 @app.route文件是this,它是通过从here 重定向调用的,我只是像那样设置它,因为我希望站点的名称出现在地址栏中。

提前致谢。

我不确定修复的步骤,因为我通过为我的工作场所创建一个应用程序来替换我创建的 excel 电子表格来深入学习基本编码。

【问题讨论】:

  • 是否存在 downTime 功能?你分享了一张你试图到达的 @app.route 的图片,但你模糊了函数名称和路线。你有一个叫做 downTime 的函数吗?
  • 如上所述,downTime 定义在 ReportingTool.py "@app.route('/reported', methods=['POST']) def downTime():"

标签: python flask


【解决方案1】:

您未访问 ReportingTool.py 中的 downTime 函数。我建议通过在 ReportingTool.py 中添加引用 downTime 函数的 /reported 端点,在你的 views.py 中尝试 add_url_rule。像这样的东西;

app.add_url_rule('/reported', 'ReportingTool.downTime', view_func=ReportingTool.downTime, methods=METHODS)

此答案基于对此question 的回复。您试图访问与主视图文件不同的文件中的函数。假设您使用来自 views.py 文件中的函数的表单调用页面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    • 2019-08-01
    • 2021-02-15
    • 1970-01-01
    • 2015-06-12
    相关资源
    最近更新 更多