当我添加 url 子路径级别(即商店/购物车)时,烧瓶'loses'静态文件夹。它路由到购物车页面,但找不到我的 CSS、JS 等



My Flask在调用页面的URL路由为单数(即@app.route("/shop/")(时,静态文件夹(applications/static(没有问题。

终端输出:

127.0.0.1 - - [29/Jul/2020 17:56:11] "GET /shop/ HTTP/1.1" 200
127.0.0.1 - - [29/Jul/2020 17:56:11] "GET /static/img/shop/products/5.j
pg HTTP/1.1" 200
...

问题是:

但是,当我使用@app.route("/shop/cart/")为cart.html添加一个级别时,Flask就"失去"了理智,开始在这里寻找静态文件夹:

终端输出:

127.0.0.1 - - [29/Jul/2020 17:56:20] "GET /shop/cart/ HTTP/1.1" 200
127.0.0.1 - - [29/Jul/2020 17:56:20] "GET /shop/static/css/plugins.min.
css HTTP/1.1" 404

现在,它路由到/shop/cart/页面,但没有静态资源,只有HTML。

问题是我使用HTML文件中的hrefsrc="../static/resource"来映射资源。这是相对于模板文件的正确资源路由。然而,通过一些研究,我意识到Flask在将资源与HTML文档匹配时,会根据应用程序文件夹的位置来查找资源。

来自非模板化背景和WordPress,我习惯于相对于我正在工作的文档进行路由,或者根本不必担心逻辑。因此,解决方案是浏览我的HTML文档,找到所有";CCD_ 5";并将它们替换为空,有效地删除它们,并将我的路由保留为hrefsrc="/static/resource",而不是hrefsrc="../static/resource"

最新更新