【发布时间】:2015-01-02 03:44:23
【问题描述】:
我正在尝试使用 bottle.py,但在请求静态模板和渲染它们时遇到了一些问题。
我有一些基本路线:
@route("/feed")
def show_feed():
# query database, calculate things, etc.
# code to show feed (which is dynamic)
@route("/submit")
def show_submit():
# query database, calculate things, etc.
# code to show submit
@route("/<filename:path>")
def serve_static(filename):
# code to simply return static files
我也有一些模板:
views/submit.html
views/feed.html
网络服务器本身没有问题。它按照它的说法工作。问题是当我像往常一样在模板中使用链接从一个页面转到另一个页面时:
<a href="feed.html">Go back to the feed</a>
当用户点击该链接或手动输入“.../feed.html”或“.../submit.html”时,将请求 URL .../feed.html 而不是 /feed,并且 Bottle 路由到serve_static(filename) 函数。结果,模板没有被渲染 - 相反,静态模板被返回,完成像“{{article[0]}}”和“% end % end”这样的丑陋的东西。
如何让 Bottle 正确呈现这些模板?
当模板被请求为静态文件时,Bottle 是否有办法知道何时渲染模板?将href 属性更改为服务器应该期望的属性是否被认为是一种好的做法?有什么我没有考虑的吗?
【问题讨论】:
-
为什么要将模板放在
static目录中,而不是像the documentation 中建议的那样放在views目录中? -
我没有看到那张纸条。我只是将
static目录更改为views,但对问题没有影响。