我制作了一个名为batch.tpl
的模板初稿。我已更新它,但旧模板仍然显示。我关闭了控制器脚本并多次将其重新打开。除了以下内容之外,我已从模板中删除了所有内容:
cat views/batch.tpl
<HTML>
<HEAD>
<TITLE> Batch Manager </TITLE>
</HEAD>
<BODY>
THIS ISN'T DISPLAYING IN BROWSER
</BODY>
</HTML>
然而,这不会显示,只是旧的模板。
这是我的控制器:
cat brew_bottle.py
from bottle import route, run, template, debug, post, request
import MySQLdb
import pymongo
from datetime import datetime, timedelta
import datetime
@route('/batch')
def batch():
con = MySQLdb.connect('localhost', 'root', 'pi', 'brew')
cursor = con.cursor()
batch_sql = "SELECT name, material, start_date, active, end_begin_date, end_end_date, min_temp, max_temp FROM batch WHERE active='Y'"
cursor.execute(batch_sql)
batches = cursor.fetchall()
return template('batch', batches=batches)
#...
debug(True)
run(host='0.0.0.0', port='8080', reloader=True)
然而,当我去http://<hostname>:8080/batch
时,我看到了我写过的旧模板:
我确信我错过了一些简单的事情。它是什么?
我创建了一个新目录并将所有内容移到了该目录中。然后当我启动python脚本时,我能够看到正确的页面。但旧目录中的python脚本显示旧模板?
答案 0 :(得分:0)
根据Bottle docs,自动重新加载(reloading
)仅由模块文件的更改触发。
模板文件中的更改不会触发重新加载。请使用debug 模式以停用模板缓存。
以这种方式开启Bottle's debug mode:
bottle.debug(True)
以下是在调试模式下更改的不完整列表:
默认错误页面显示回溯。模板不会被缓存。 插件立即应用。只是确保不要使用调试 生产服务器上的模式。
N.B。,我看到有人已经问你是否重新启动服务器导致更新的模板出现,并且你表明它没有。这非常可疑。在任何情况下,尝试解决上面的问题,看看是否能解决您的问题。祝你好运!