【问题标题】:How to pass values to templates in tornado如何将值传递给龙卷风中的模板
【发布时间】:2012-05-14 18:01:31
【问题描述】:

我有一个模板,其中显示了从服务器传递的大量值,我的问题是如何将这些值传递给模板文件。 我的处理程序代码如下: 类 AdminHandler(tornado.web.RequestHandler): def get(self, *args, **kwargs): #响应一个get方法 #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)

我的模板代码如下: {% 个项目['userName'] %} {% items['welcomeMessage'] %} {% 结束 %}

问题是我无法访问模板文件中的这些值。我收到以下错误:

引发 ParseError("未知运算符:%r" % 运算符) ParseError:未知运算符:“items ['userName']” 错误:root:500 GET /admin (127.0.0.1) 3.27ms

【问题讨论】:

    标签: python templates python-2.7 tornado


    【解决方案1】:

    这是一个类似于您正在做的演示。查看模板的语法并查看{% %}{{ }} 块的不同用途。这段代码:

    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 
    

    有关 Tornado 模板的更多信息,请查看this tutorial,当然还有Tornado templates documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-25
      • 1970-01-01
      相关资源
      最近更新 更多