Como usar um filtro de modelo em uma tag de modelo personalizado?
Eu tenho um problema de django relativo a tags de template. Eu tenho uma tag de modelo chamadamodal_form
com 4 argumentos. Essa tag de modelo funciona perfeitamente com variáveis básicas como:
{% modal_form "clients" contact_form "Contacts" "contact" %}
Mas não funciona quando eu tento filtrar uma variável dentro da minha tag de template personalizado como:
{% modal_form "parameters" form_dict|key:parameter parameter name_dict|key:parameter %}
Esse filtro personalizado também funciona perfeitamente fora da tag (esse filtro obtém o valor de um dict em uma chave específica). Eu tenho esse erro:
Capturado VariableDoesNotExist durante a renderização: falha na pesquisa da chave [form_dict | key: parameter]
Talvez eu tenha que escrever a tag de maneira diferente para suportar o filtro por dentro?
Este é o meu código para a tag:
def modal_form(app, object_form, object_name, object_verbose_name):
return { 'app': app, 'object_form': object_form, 'object_name': object_name, 'object_verbose_name': object_verbose_name }
register.inclusion_tag('tags/modal_form.html')(modal_form)
E meu código para o filtro:
def key(d, key_name):
try:
value = d[key_name]
except KeyError:
#from django.conf import settings
#value = settings.TEMPLATE_STRING_IF_INVALID
value = 0
return value
key = register.filter('key', key)
Você tem alguma ideia ? Você quer mais código?
Agradecemos antecipadamente por suas respostas.