Используйте WTForms с шаблонами webapp и Django в Google App Engine

Я безуспешно пытаюсь использовать 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, и теперь все работает отлично. Webapp с шаблонами Django для меня мертв. ;-)


person Luke Francl    schedule 17.11.2010    source источник
comment
Я вошел с такими же ошибками и все задокументировал для тех, кто приходит искать soln. может помочь следующая статья: blog.fruiapps.com/2012/06/   -  person user993563    schedule 30.06.2012


Ответы (1)


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

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

person Matt Williamson    schedule 17.11.2010
comment
Хорошая запись о том, как перейти с webapp на flask: f.souza.cc/2010/08/flying-with-flask-on-google-app-engine - person matt b; 12.12.2011