【发布时间】: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/...问题是如果文件仍然在相同的目录中,为什么它会改变?