Die übergabe der variable an ein makro in Jinja2
Ich habe einige kleine Makros, die ich verwende, um text anzuzeigen Zeile und die Bezeichnung dafür:
{% macro input(name, text, help_text, value="", input_type) -%}
<label for="id_{{name}}">{{text}}<span class="right">{{help_text}}</span></label>
<input id="id_{{name}}" name="{{name}}" value="{{value}}" type="{{input_type}}" />
{{%- endmacro %}
Das problem ist wenn ich call jinja2 makro:
{{input("username", "Korisničko ime:", "Pomoć", {{value_username}}, "text")}
Kann ich es nicht zu funktionieren, wenn ich call-Eingang mit {{value_username}}
als parameter, ich bekomme immer einen Fehler.
Kennen Sie eine Lösung, wie kann ich rufen Sie {{value_username}}
als parameter.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube
funktionieren sollte
Obwohl Emmett J. Butler hat eine Antwort, es gibt einen kleinen Fehler bei der Bestellung der makro-Parameter. Sie verwenden derzeit folgende Signatur:
Sollten Sie immer die Argumente mit default-Wert, nachdem alle anderen Argumente erforderlich, daher ändern die Reihenfolge, in der diese:
Nun beim aufrufen von Makros mit Variablen als Argumente, die Sie nicht brauchen, um surround-Variablen mit
{{ }}
denn Sie sind bereits in der{% ... %}
.