mein Hirn ist zwar schon ein wenig heruntergefahren ob der Uhrzeit, aber ich stelle die Frage hier dann trotzdem noch.
Ich bin grad dabei eine kleine WSGI-Applikation mit Werkzeug und Jinja zu schreiben. Nun habe ich anscheinend aber ein Designproblem oder aber ein Verständnisproblem oder etwas anderes schlimmes

Also: Ich möchte eine URL zusammenbaslten und habe in einer utils.py Datei folgende Funktion:
Code: Alles auswählen
def url_for(endpoint, _external=False, **values):
return local.url_adapter.build(endpoint, values, force_external=_external)
Nun möchte ich auf meiner Hauptseite eine Liste von Links ausgeben, die zu Unterseiten führen, also der endpoint 'karte'. Der Aufbau der Links kann man aus der Definition der Regeln entnehmen:
Code: Alles auswählen
url_map=Map([
Rule("/", endpoint="index"),
Rule("/about", endpoint="about"),
Rule("/karte<string:ident>", endpoint="karte"),
Rule("/ziehung", endpoint="ziehung")
])
Code: Alles auswählen
/karte6
Code: Alles auswählen
print adapter.build("karte", dict(ident=6))
Code: Alles auswählen
{% for karte in karten %}
<li>
<a href="{{ url_for('karte', dict(ident=5))|e }}">{{ karte.name|e }}</a>
</li>
{% endfor %}
Code: Alles auswählen
....
File "/home/nelson/src/Python/karten/tarot/utils.py", line 15, in url_for
return local.url_adapter.build(endpoint, values, force_external=_external)
File "/usr/lib/python2.5/site-packages/Werkzeug-0.2-py2.5.egg/werkzeug/routing.py", line 1263, in build
raise BuildError(endpoint, values, method)
BuildError: ('karte', {}, 'GET')
Nun also meine Frage: Kann ich kein Dictionary aus Jinja heraus als Parameter einer Funktion übergeben? (Wobei das in der Jinja-Doc nicht explizit erwähnt wird) Oder mache ich das schlicht falsch? Oder ist es grundsätzlich eine schlechte Idee, das aus Jinja heraus machen zu wollen?
Ich hoffe ich konnte das halbwegs klar darstellen und habe keine wichtige Angabe vergessen. Wenn doch liefere ich das gerne nach.