2012-05-05 5 views
5

私は、サーバーから渡される多くの値を表示するテンプレートを持っています。私の質問はこれらの値をテンプレートファイルに渡す方法です。 私のハンドラのコードは次のとおりです。 クラスAdminHandler(tornado.web.RequestHandler): はデフ(自己、* argsを、** kwargsから)を取得:getメソッド #のself.write(「AdminHandlerへ #respondを::次のように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です:不明なオペレータ: "アイテム[ 'ユーザー名']" ERROR:ルート:500 GET /管理(127.0.0.1 )3.27ms

答えて

11

あなたの行っているようなデモンストレーションです。テンプレートの構文を見て、{% %}{{ }}ブロックの異なる用途を見てください。このコード:トルネードテンプレートの詳細については

Alwin Doss 
Good evening are you enjoying kids dance 

John Smith 
Good evening, JS 

this tutorialでとTornado templates documentationでのコースの外観を持っている:

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) 

は、この出力を生成します。

関連する問題