Pergunta

Estou tentando usar o WTForms com o WebApp sem muita sorte.

Eu gostaria de poder usar o form_field TemplateTag, conforme mostrado na documentação:

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

Eu tenho WTForms instalados bem no meu aplicativo, mas suas tags de modelo Django não estão funcionando para mim. Alguém tem instruções sobre como instalar isso?

Se eu não conseguir fazer isso funcionar, provavelmente desistirei e mudarei para os modelos Jinja2. A razão pela qual mantivemos o Django até agora é limitar o número de dependências o máximo possível.


Aqui está o que eu tentei até agora:

Eu instalei o Django 1.1 localmente e o permiti de acordo com a documentação.

Eu tentei adicionar INSTALLED_APPS = ['wtforms.ext.django'] para o meu settings.py - Sem efeito.

Tentei registrar o WTForms TemplateTag Manualmente:.

register = webapp.template.create_template_register()

from wtforms.ext.django.templatetags import wtforms

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

Isso me deu um erro: InvalidTemplateLibrary: Could not load template library from template_helpers, No module named django.templatetags

Então eu tentei copiar e colar as tags de modelo em meu próprio código, e recebi o erro TemplateSyntaxError: Could not parse the remainder: ' form.foobar' from 'form_field form.foobar.

No entanto, não acho que o registro do TemplateTag tenha funcionado, porque o erro foi o mesmo sem esse código.


Atualizar: Estou deixando essa pergunta para o caso de alguém na Internet poder responder algum dia, mas mudei para o Jinja2 e agora tudo funciona perfeitamente. WebApp com modelos Django está morto para mim. ;-)

Foi útil?

Solução

Eu recomendo modelos Jinja2 sobre Django: http://jinja.pocoo.org/ É baseado nos modelos do Django, mas mais poderoso e fácil de usar. Eu não acho que é uma boa ideia usar modelos de django sem a pilha de django. Além disso, se você deseja uma estrutura mais estruturada, uma estrutura minimalista muito agradável é o Flask: http://www.pocoo.org/projects/flask/#flask. Não posso louvar essas duas bibliotecas o suficiente. Trabalhei muito tempo em Django e achei essa combinação muito refrescante e sucinta.

PS Este deve ser um processo muito simples para portar. Levei 10 minutos para transportar um site do WebApp quando acabei de descobrir o Flask.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top