【问题标题】:How to run .html file in Flask? - Error Code 404如何在 Flask 中运行 .html 文件? - 错误代码 404
【发布时间】:2020-07-02 18:19:57
【问题描述】:

所以我的项目结构非常简单:

这是我的 app.py 的代码:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')

@app.route('/index')
def index():
    return render_template("index.html")


if __name__ == '__main__':
    app.run(debug = True)

因此,应该使用所有设计正确构建网站(当我通过 PyCharm 内部的浏览器功能调用网站时,它会正确加载),但是当通过 app.py 进行时,我会收到很多 404 错误像这样:

127.0.0.1 - - [21/Mar/2020 23:25:30] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [21/Mar/2020 23:25:30] "GET /vendor/bootstrap/css/bootstrap.min.css HTTP/1.1" 404 -
127.0.0.1 - - [21/Mar/2020 23:25:31] "GET /vendor/fontawesome-free/css/all.min.css HTTP/1.1" 404 -
127.0.0.1 - - [21/Mar/2020 23:25:31] "GET /css/grayscale.min.css HTTP/1.1" 404 -
127.0.0.1 - - [21/Mar/2020 23:25:31] "GET /img/ipad.png HTTP/1.1" 404 -
127.0.0.1 - - [21/Mar/2020 23:25:31] "GET /img/bg-masthead.jpg HTTP/1.1" 404 -
127.0.0.1 - - [21/Mar/2020 23:25:31] "GET /vendor/jquery/jquery.min.js HTTP/1.1" 404 -
127.0.0.1 - - [21/Mar/2020 23:25:31] "GET /vendor/bootstrap/js/bootstrap.bundle.min.js HTTP/1.1" 404 -
127.0.0.1 - - [21/Mar/2020 23:25:31] "GET /vendor/jquery-easing/jquery.easing.min.js HTTP/1.1" 404 -
127.0.0.1 - - [21/Mar/2020 23:25:31] "GET /js/grayscale.min.js HTTP/1.1" 404 -
127.0.0.1 - - [21/Mar/2020 23:25:31] "GET /img/demo-image-01.jpg HTTP/1.1" 404 -
127.0.0.1 - - [21/Mar/2020 23:25:31] "GET /img/demo-image-02.jpg HTTP/1.1" 404 -
127.0.0.1 - - [21/Mar/2020 23:25:31] "GET /vendor/jquery-easing/jquery.easing.min.js HTTP/1.1" 404 -
127.0.0.1 - - [21/Mar/2020 23:25:32] "GET /js/grayscale.min.js HTTP/1.1" 404 -

所有文件都放在正确的目录中,否则在使用浏览器内部功能时将无法正常工作,但我不明白为什么 app.py 无法正确获取这些资产。

//编辑:通过PyCharm浏览器功能执行时,他的index.html应该可以工作(prntscr.com/rkdz6k),网站加载正常,因此模板是正确的。但是以某种方式通过 app.py 执行 .html 不起作用

谁能帮帮我?

【问题讨论】:

  • index.html 模板中有什么内容?
  • @Brian 通过 PyCharm 浏览器功能执行时 index.html 应该可以工作 (prntscr.com/rkdz6k),网站加载正常,因此模板是正确的。但是通过 app.py 以某种方式执行 .html 不起作用。
  • 请将您问题的任何更新发布为edit。看起来您的模板同时使用了 jQuery 和引导程序。您是否安装了这两个框架并确保它们的文件可以在您的应用程序的静态根目录中访问?另外,有个小笑话:HTML 不是“执行的”——它是一种标记语言,即只是其他软件呈现的数据。
  • @Brian 将其保存在上面的编辑中 - 如上图所示。我插入了整个模板数据,说到css、img、js、vendor和index.html到模板中;当提到安装这两个框架时,我应该如何在 PyCharm with Flask 中做到这一点?
  • 我建议从您获得 index.html 的任何地方阅读文档。可以在project's website 中找到有关如何安装引导程序的说明。这与 Flask 或 PyCharm 完全无关。

标签: python html flask assets


【解决方案1】:

已修复:所有文件夹(如上图所示)不属于模板文件夹,它们应属于“静态”文件夹。模板文件夹仅包含 index.html,而 css、img、js 和供应商(在我的示例(模板)中)放置错误。

现在将这 4 个文件拖入“静态”后,一切都使用 Code 200 执行,并且模板加载正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-20
    • 2015-02-11
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    • 1970-01-01
    相关资源
    最近更新 更多