用cherrypy调度flask应用程序获得正确的静态url

2024-04-29 15:05:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用切利皮来配烧瓶。文档给出了一个开发服务器的示例,但是当使用cherrypy example snippet并修改url前缀时,页面无法找到静态文件夹。在

我的目录结构如下:

cherry
├── app1
│   ├── __init__.py
│   └── app1.py
├── app2
│   ├── __init__.py
│   ├── app2.py
│   ├── static
│   │   └── js.js
│   └── templates
│       └── index.html
└── cherry_app.py

一些相关文件:

^{pr2}$

转到http://0.0.0.0:9999/second/正确地告诉我,Url is /second/和javascript是在我转到http://0.0.0.0:9999/second/static/js.js时加载的。但是html给出了错误GET http://0.0.0.0:9999/static/js.js 404 (Not Found)。它似乎不知道在查找/static时使用前缀/second,即使我更改了行:

app = Flask(__name__, static_url_path='/second/static')

如何让网页正确加载静态文件?最好没有html模板(比如jinja)。在


Tags: 文件pyapphttpurl烧瓶inithtml
1条回答
网友
1楼 · 发布于 2024-04-29 15:05:09

您是否尝试使用url_for来定位静态文件?这是static files section烧瓶快速入门。在

所以在您的情况下,修改中script元素的src值索引.html公司名称:

<script src="{{ url_for("static", "js.js") }}"></script>

第二个参数js.js应该是静态文件的相对路径(例如js.js公司)到静态文件夹。因此,如果static的目录结构如下所示:

^{pr2}$

只需将js.js替换为scripts/js.js

<script src="{{ url_for("static", "scripts/js.js") }}"></script>

希望这会有意义。在

相关问题 更多 >