2013-03-21 2 views
-1

Почему max_height создает недопустимую синтаксическую ошибку?Недопустимый синтаксис Значение шаблона jinja2

main.py

max_height = 70 

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

index.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> 

EDIT 1 Вот класс MainPage от main.py:

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)) 

ответ

1

Эта линия:

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

должен выглядеть примерно так:

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

Кроме того, я бы посоветовал не использовать какой-либо фильтрации логики, как это в самом шаблоне. Поместите этот код в код приложения и просто используйте шаблон для визуализации HTML.

+0

+1 Спасибо, Блендер. Я исправил код. Я все еще получаю ту же ошибку в строке: «max_height»: max_height. Является ли это тем, что значения шаблона не позволяют мне передавать переменные вроде этого? – Anthony

+1

@ Энтони: Какая ошибка? – Blender

+0

Ошибка ... строка 20 'max_height': max_height. СинтаксисError: недопустимый синтаксис – Anthony

Смежные вопросы