Use WTForms con plantillas webapp y Django en Google App Engine
-
25-09-2019 - |
Pregunta
Estoy intentando utilizar WTForms con webapp sin mucha suerte.
Me gustaría ser capaz de utilizar el templatetag form_field
, como se muestra en la documentación:
{% form_field form.username class="big_text" onclick="do_something()" %}
que tengo instalado bien en mi solicitud, pero sus etiquetas de Django no está funcionando para mí. ¿Alguien tiene instrucciones sobre cómo conseguir esta instalado?
Si no puedo conseguir este trabajo, que es probable que renunciar y cambiar a las plantillas Jinja2. La razón por la que hemos mantenido con Django hasta ahora es la de limitar el número de dependencias tanto como sea posible.
Esto es lo que he probado hasta ahora:
He instalar Django 1.1 a nivel local y le permitió por la documentación .
He intentado añadir a mi INSTALLED_APPS = ['wtforms.ext.django']
settings.py
-. Ningún efecto
He intentado registrar los wtforms templatetag manualmente:.
register = webapp.template.create_template_register()
from wtforms.ext.django.templatetags import wtforms
register.tag('form_field', wtforms.do_form_field)
Esto me dio un error: InvalidTemplateLibrary: Could not load template library from template_helpers, No module named django.templatetags
Así que traté de copiar y pegar las etiquetas de plantilla en mi propio código, y me dieron el TemplateSyntaxError: Could not parse the remainder: ' form.foobar' from 'form_field form.foobar
error.
Sin embargo, no creo que el registro templatetag funcionó, ya que el error era lo mismo sin ese código.
Actualización: Me voy de esta pregunta en caso de que alguien en Internet puede algún día la respuesta, pero lo cambió a Jinja2 y ahora todo funciona perfectamente. Webapp con las plantillas de Django está muerto para mí. ; -)
Solución
Recomiendo plantillas Jinja2 más de Django: http://jinja.pocoo.org/ Se basa en las plantillas de Django, pero más potente y fácil de usar. No creo que sea una buena idea utilizar las plantillas de Django Django sin la pila. Además, si quieres un marco más estructurado, un muy buen marco minimalista es Frasco: http://www.pocoo.org / proyectos / frasco / matraz # . No puedo alabar esas dos bibliotecas suficiente. He trabajado mucho tiempo en Django y encontré este combo a ser muy refrescante y sucinta.
P.S. esto debería ser un proceso muy simple a través del puerto. Me tomó 10 minutos para el puerto en un sitio de aplicación web cuando me acabo de enterar de frasco.