我正在尝试在Bottle Web服务器上呈现几个文件。第一个HTML文件有一个链接到另一个文件的按钮。所以我需要在服务器上运行这两个。 我的(更新的)项目结构是这样的
-app.py
-static
-css
bootstrap.css
bootstrap.min.css
-fonts
-js
jquery.js
etc etc
-index.html
-visualization.html
必须首先呈现我的index.html
文件。用户可以从中选择单击按钮将他带到visualization.html
。
我的网页未呈现。这可能是什么原因?
app.py中的路由代码段如下所示:
from bottle import route, run, template, static_file, response, request
@route('/noob')
def map():
return static_file('index.html',root = './static')
run(host='0.0.0.0', port='8030')
这是我在index.html
中访问这些文件的方式:
<script src="./static/js/jquery.js"></script>
<link href="./static/css/grayscale.css" rel="stylesheet">
我对 Python 和 Bottle 相对较新。这是正确的吗?我收到 404错误
。
另外,如何在瓶子服务器上放置两个文件。如上所述,index.html
中的按钮链接到visualization.html。所以我猜这也应该在 Bottle 服务器上运行。我是否在同一个文件中运行它?不同的港口?
提前致谢。
答案 0 :(得分:2)
您需要将 index.html 放在 static 文件夹中。
-app.py
-static
various css and img files being used in my two html files
index.html
visualization.html
访问静态文件和模板的更好方法是将 index.html 重命名为 index.tpl ,如下所示:
-app.py
-static
-js
bootstrap.min.js (example)
-css
-fonts
index.tpl
visualization.tpl
profile.tpl
和
from bottle import route, run, template, static_file, response, request
@route('/noob')
def map():
return template('index.tpl')
@route('/profile')
def profile():
return template('profile.tpl')
@route('/static/<filepath:path>')
def server_static(filepath):
return static_file(filepath, root='./static/')
run(host='0.0.0.0', port='8030')
在你的tpl文件中使用这样的路径:
<script src="/static/js/bootstrap.min.js"></script>
希望这能回答你的问题。