2012-05-05 61 views
5

我有一個模板顯示從服務器傳遞的大量值,我的問題是如何將這些值傳遞給模板文件。 我的處理程序代碼如下: 類AdminHandler(tornado.web.RequestHandler): DEF得到(自,* ARGS,** kwargs): #respond於獲取方法 #self.write(「AdminHandler ::裏面GET功能「)如何將值傳遞給龍捲風中的模板

userName = "Alwin Doss" 
    welcomeMessage = "Good evening are you enjoying kids dance" 
    items = {} 
    items["userName"] = userName 
    items["welcomeMessage"] = welcomeMessage 


    self.render("web/admin.html", title="Admin Page", items=items) 

和我的模板代碼如下: {%項目[ '用戶名']%} {%項目[ 'welcomeMessage']%} {%結束%}

問題是我無法訪問模板文件中的這些值。我得到以下錯誤:

提高ParseError( 「未知運營商:%R」 運算符%) ParseError:未知運營商: 「項[ '用戶名']」 錯誤:根:500 GET /管理(127.0.0.1 )3.27ms

回答

11

這是一個類似於你似乎在做的演示。查看模板的語法並查看{% %}{{ }}塊的不同用途。此代碼:

from tornado import template 

t = template.Template('''\ 
{% for user in users %} 
    {{ user['userName'] }} 
    {{ user['welcomeMessage'] }} 
{% end %} 
''') 

# create first user and append to a user list 
users = [] 
user = { "userName" : "Alwin Doss", 
     "welcomeMessage" : "Good evening are you enjoying kids dance"} 
users.append(user) 

# create and append second user 
user = { "userName" : "John Smith", 
     "welcomeMessage" : "Good evening, JS"} 
users.append(user) 

# render the template and output to console 
print t.generate(users = users) 

產生這樣的輸出:

Alwin Doss 
Good evening are you enjoying kids dance 

John Smith 
Good evening, JS 

更多關於龍捲風的模板看看this tutorial當然在Tornado templates documentation的。