python - Flask 应用程序正在从一个奇怪的路径获取资产(css、js)
问题描述
我有一个简单的烧瓶应用程序,它有一个奇怪的行为。
似乎传递路由名称会使浏览器从另一个文件夹中获取资产。
我的html
<link href="./static/assets/main.css" rel="stylesheet">
<a href="/work/22" title="" class="btn btn-default">Reserva já</a>
我的烧瓶路线
@app.route('/work/<int:store_id>')
def stores(store_id):
mycursor.execute("SELECT * FROM stores WHERE store_id = %s" % store_id)
result = mycursor.fetchone()
return render_template("work.html")
控制台说浏览器现在正在这里寻找 css 文件:
http://localhost:5000/work/static/assets/main.css
我不明白为什么它将“工作”放在此处的路径中。我是烧瓶的新手,也许我不明白路由是如何工作的。我传递“work/22”是因为我想传递两条信息,这是不好的做法吗?
谢谢
解决方案
这是一个相对路径:
<link href="./static/assets/main.css" rel="stylesheet">
它是相对于当前位置的,即/work/store_id
. 这与在文件系统中的工作方式相同,因此/work
当前目录和相对路径也将解析为/work/static/assets/main.css
.
如果您希望路径为/static/assets/main.css
,请删除前导点:
<link href="/static/assets/main.css" rel="stylesheet">
推荐阅读
- android - 在加载数据之前显示其子级缩略图的 Android 组件
- ios - 在 SceneView 中加载 .ply
- firebase - 如何在 Firebase 实时数据库规则游乐场中测试删除
- c - 使用 strtok_r 时指针无效
- entity-framework - 未找到指定 ID 的连接 MVC.Net C# IIS
- python - Selenium python - 如何捕获网络流量响应
- python-3.x - 使用 QStyledItemDelegate 验证 QTreeWidget 的特定列无法正常工作
- android - 如何在屏幕上垂直居中android TimePicker?
- algorithm - 对于以下哪项,哈希表最适合解决问题?
- php - 在 react nativ fetch 方法中不起作用