Используйте WTForms с шаблонами webapp и Django в Google App Engine - PullRequest
1 голос
/ 17 ноября 2010

Я пытаюсь использовать WTForms с веб-приложением без особой удачи.

Я бы хотел использовать тег шаблона form_field, как показано в документации:

{% form_field form.username class="big_text" onclick="do_something()" %}

У меня нормально установлено WTForms в моем приложении, но его шаблонные теги Django не работают для меня. У кого-нибудь есть инструкции как это установить?

Если я не могу заставить это работать, я, вероятно, сдамся и переключусь на шаблоны Jinja2. Причина, по которой мы до сих пор работали с Django, заключается в том, чтобы максимально ограничить количество зависимостей.


Вот что я попробовал:

Я установил Django 1.1 локально и включил его согласно документации .

Я пытался добавить INSTALLED_APPS = ['wtforms.ext.django'] к своему settings.py - безрезультатно.

Я попытался зарегистрировать шаблонный тег wtforms вручную:.

register = webapp.template.create_template_register()

from wtforms.ext.django.templatetags import wtforms

register.tag('form_field', wtforms.do_form_field)

Это дало мне ошибку: InvalidTemplateLibrary: Could not load template library from template_helpers, No module named django.templatetags

Итак, я попытался скопировать и вставить теги шаблона в свой собственный код, и я получил ошибку TemplateSyntaxError: Could not parse the remainder: ' form.foobar' from 'form_field form.foobar.

Однако я не думаю, что регистрация в теге шаблона работала, потому что ошибка была такой же без этого кода.


Обновление: Я оставляю этот вопрос на тот случай, если кто-нибудь в Интернете когда-нибудь сможет ответить на него, но я переключился на Jinja2, и теперь все работает отлично. Веб-приложение с шаблонами Django мертво для меня. ; -)

1 Ответ

5 голосов
/ 17 ноября 2010

Я рекомендую шаблоны jinja2 вместо django: http://jinja.pocoo.org/ Он основан на шаблонах django, но более мощный и простой в использовании.Я не думаю, что это хорошая идея использовать шаблоны Django без стека django.Кроме того, если вы хотите более структурированный фреймворк, очень хороший минималистичный фреймворк - Flask: http://www.pocoo.org/projects/flask/#flask. Я не могу похвалить эти две библиотеки достаточно.Я долгое время работал в Django и нашел это комбо очень освежающим и лаконичным.

PS Это должен быть очень простой процесс переноса.Мне понадобилось 10 минут, чтобы портировать через сайт веб-приложения, когда я только что узнал о Flask.

...