2012-06-27 2 views
3

Я использую колбу с шаблоном jinja2, который включает в себя другой шаблон jinja2, называемый buttons.html.url_for inside include with jinja2

Родитель шаблона кнопок выглядит следующим образом:

{% include "{{ url_for('.buttons') }}" %} 

светокопию код выглядит следующим образом:

@whatever_blueprint.route('/whatever/buttons.html', methods=['GET']) 
def buttons(): 
    return render_template('/whatever/buttons.html') 

Это позволяет мне воспользоваться тем, что дзиндзя будет разрешить. prefixed url_for путь к текущему контексту чертежа и, таким образом, дать мне кнопки, отображаемые специально для чертежа, в котором это отображается. Я использую метод .prefix в других случаях, но не пробовал вложенные url_for в этом контексте. К сожалению, я не могу заставить это работать, по-видимому, из-за вложенных {% {{}}%}.

Возможно ли это?

+0

Что такое точка ('.buttons')? – roy

ответ

2

К сожалению (или, к счастью, большинство случаев использования было бы довольно уродливым), вы не можете включать URL-адреса, а только шаблоны.

Что вы хотите {{ buttons() }} с buttons быть buttons функции (или {{ buttons }} с buttons=buttons() в render_template()) передается render_template() вызова или доступны через глобальный контекст шаблона.