-2

为什么max_height会产生无效的语法错误?

主文件

max_height = 70

template_values = {   
   'max_height': max_height    # syntax error
   ...
}

索引.html

<html>
    <body>      
        {% for person in people %}
            {% if person.filter("height <", max_height %)
                <b>{{ person.first_name }}</b> 
                <b>{{ person.last_name }}</b>
                <b>{{ person.city }}</b> 
                <b>{{ person.birth_year }}</b> 
                <b>{{ person.height }}</b> 
                <hr></hr>
            {% endif %}
        {% endfor %}
    </body>
</html>

编辑 1 这是来自main.py的类 MainPage :

class MainPage(webapp2.RequestHandler):
    def get(self):

        people_query = Person.all()
        people = people_query.fetch(10)

        max_height = 70

        template_values = {
            'people': people
            'max_height': max_height
        }

        template = jinja_environment.get_template('index.html')
        self.response.out.write(template.render(template_values))
4

1 回答 1

1

这一行:

{% if person.filter("height <", max_height %)

应该看起来像这样:

{% if person.filter("height <", max_height) %}

另外,我建议不要在模板本身中使用任何类型的过滤逻辑。将该代码放入您的应用程序代码中,然后使用模板来呈现 HTML。

于 2013-03-21T01:52:24.580 回答