Mam problem z django dotyczący znaczników szablonów. Mam tag szablonu o nazwie modal_form
z 4 argumentami. Ten szablon działa idealnie z podstawowych zmiennych, takich jak:Jak użyć filtra szablonu do niestandardowego tagu szablonu?
{% modal_form "clients" contact_form "Contacts" "contact" %}
Ale to nie działa, gdy próbuję filtrować zmienną wewnątrz mojego własnego szablonu tagu jak:
{% modal_form "parameters" form_dict|key:parameter parameter name_dict|key:parameter %}
Zwyczaj ten filtr działa również doskonale poza tagiem (ten filtr dostaje wartość dict przy określonym kluczu). mam ten błąd:
Caught VariableDoesNotExist while rendering: Failed lookup for key [form_dict|key:parameter]
Może muszę napisać tag w inny sposób wspierania filtra w środku?
To jest mój kod dla tagu:
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)
A mój kod dla filtra:
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)
Czy macie jakieś pomysły? Czy chcesz więcej kodu?
Z góry dziękuję za odpowiedzi.
Możemy tylko pomóc, jeśli pisać kod; w przeciwnym razie jest to tylko gra w zgadywanie. –
Czy możesz także udostępnić swój niestandardowy tag i kod filtru – FallenAngel
Edytowałem mój post z kodami, thx –