瓶显示旧模板?

时间:2014-01-20 03:11:27

标签: python bottle

我制作了一个名为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时,我看到了我写过的旧模板:

enter image description here

我确信我错过了一些简单的事情。它是什么?

我创建了一个新目录并将所有内容移到了该目录中。然后当我启动python脚本时,我能够看到正确的页面。但旧目录中的python脚本显示旧模板?

1 个答案:

答案 0 :(得分:0)

根据Bottle docs,自动重新加载(reloading)仅由模块文件的更改触发。

  

模板文件中的更改不会触发重新加载。请使用debug   模式以停用模板缓存。

以这种方式开启Bottle's debug mode

bottle.debug(True)
  

以下是在调试模式下更改的不完整列表:

     

默认错误页面显示回溯。模板不会被缓存。   插件立即应用。只是确保不要使用调试   生产服务器上的模式。


N.B。,我看到有人已经问你是否重新启动服务器导致更新的模板出现,并且你表明它没有。这非常可疑。在任何情况下,尝试解决上面的问题,看看是否能解决您的问题。祝你好运!