Wie verwende ich einen Vorlagenfilter für ein benutzerdefiniertes Vorlagen-Tag?

Ich habe ein Django-Problem mit Vorlagen-Tags. Ich habe ein Template-Tag namensmodal_form mit 4 Argumenten. Dieses Template-Tag funktioniert perfekt mit Basisvariablen wie:

{% modal_form "clients" contact_form "Contacts" "contact" %}

Aber es funktioniert nicht, wenn ich versuche, eine Variable in meinem benutzerdefinierten Template-Tag wie folgt zu filtern:

{% modal_form "parameters" form_dict|key:parameter parameter name_dict|key:parameter %}

Dieser benutzerdefinierte Filter funktioniert auch perfekt außerhalb des Tags (dieser Filter erhält den Wert eines Diktats bei einem bestimmten Schlüssel). Ich habe diesen Fehler:

Beim Rendern VariableDoesNotExist abgefangen: Suche nach Schlüssel [form_dict | key: parameter] fehlgeschlagen

Vielleicht muss ich das Tag anders schreiben, um den Filter im Inneren zu unterstützen?

Dies ist mein Code für das 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)

Und mein Code für den Filter:

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)

Hast du eine Idee ? Möchtest du mehr Code?

Vielen Dank im Voraus für Ihre Antworten.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage