【问题标题】:Resource files (css, js) fail to load with a change in a python @app.route() [duplicate]资源文件(css,js)无法加载python @app.route()中的更改[重复]
【发布时间】:2019-06-11 22:47:39
【问题描述】:

我遇到了一个奇怪的问题,如果我尝试修改 @app.route(),我的模板会由于某种原因停止加载其资源,例如 CSS 和 JS 文件。

这样的路线:

@app.route("/users/<user_id>")

它似乎工作正常,一切都正确显示。如果我将其修改为

@app.route("/users/edit/<user_id>")

@app.route("/users/<user_id>/edit")

然后模板本身工作并正确加载有关指定用户的信息,但完全没有资源,只是 HTML 代码。在 Chrome 的开发者工具中,会出现找不到资源文件的错误。

我只是在做一个模板项目,一步一步地学习,在探索应用程序路由并通过其参数获取一些变量时遇到了这种无法解释的行为,并试图理解为什么会这样。

【问题讨论】:

  • 两种情况下渲染的是同一个模板吗?
  • 您能否在浏览器开发工具中查看它在工作/不工作时所访问的 URI:s?是否可能为您的 URL 使用了错误的基础?
  • 我想我找到了问题所在。在@app.route("users/edit/...") 的情况下,模板正在查找的资源的URL 是http://127.0.0.1:5000/users/static/... 而不仅仅是http://127.0.0.1:5000/static/... 问题是如果文件仍然在相同的目录中,为什么它会改变?

标签: python html flask


【解决方案1】:

好的,感谢您提供帮助我跟踪问题的提示,在此处发布答案,以防有人遇到此问题。在我的“layout.html”中链接资源文件时,我只是在 HTML 代码中犯了一个错误。这是现在可以使用的代码:

<link href="/static/css/styles.css" rel="stylesheet">

前面有一个/

【讨论】:

    猜你喜欢
    • 2012-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 2018-03-28
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    相关资源
    最近更新 更多