Ich habe einen benutzerdefinierten Filter in Jinja, die zwei Argumente erfordert, ich rufe die Funktion in meiner Jinja Vorlage und ich bekomme einen TypeError über Positionsargumente. Dass meine Funktion zwei (richtig) nimmt aber das 3 wurden (falsche) gegebenJinja2 benutzerdefinierte Funktion geben Positionsargument Fehler
Hier ist der Funktionscode
# Get the total balance of a student to display for an instructor
def get_stud_balance(inst_id, stud_id):
balance = 0
stud_balance = Packages.query.filter(Packages.inst_id == inst_id, Packages.stud_id == stud_id).all()
for row in stud_balance:
balance += row.balance
return balance
Dies ist, wie sie eingetragen ist ..
app.jinja_env.filters['get_balance'] = filters.get_stud_balance
Dies ist, wie Ich versuche es zu nennen.
{% for row in studs %} <!-- START for loop -->
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading"><center>{{ row.first_name }} {{ row.last_name }}</center></div>
<div class="panel-body">
<li>Cell Phone: {{ row.cell|phone }}</li>
<li>Home Phone: {{ row.home|phone }}</li>
<li>Email: {{ row.email }} </li>
<li>Birthday: {{ row.birthday|date }}</li>
<li>Gender: {{ row.gender|gender }}</li>
<li>Balance: {{ balance|get_balance(row.inst_id, row.stud_id) }}</li>
</div>
</div>
</div>
{% endfor %} <!-- /END for loop -->
Was fehlt mir hier? Ich kann die Funktion ohne Problem ausführen, wenn ich es nur aus der Datei ausführen, aber nicht beim Laden der Vorlage.
Dieses es fixiert hätte, '