2014-01-20 85 views
1

我做了一個模板的初稿,名爲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腳本顯示舊的模板?

+0

停止和啓動瓶服務器有幫助嗎?我只是想知道它是否是一個'reloader'問題。 – alecxe

+0

@alecxe不,停止並重新啓動瓶服務器不會執行任何操作。 –

回答

0

根據Bottle docs,自動重新加載(reloading)只能通過更改模塊文件觸發。

模板文件中的更改不會觸發重新加載。請使用debug 模式來取消模板緩存。

打開Bottle's debug mode這樣:

bottle.debug(True) 

這裏的東西,在調試模式下改變一個不完整的列表:

默認的錯誤頁面顯示回溯。模板不被緩存。 插件即時應用。只要確保不要在生產服務器上使用調試 模式。


注:另,我看到已經有人問您是否重新啓動服務器造成了更新的模板出現,並且您表示它沒有。這非常可疑。無論如何,請嘗試修復上述問題並查看是否解決了您的問題。祝你好運!