Переменная шаблона ссылки в выражении Jinja
у меня есть маршрут, определенный следующим образом:
@app.route('/magic/<filename>')
def moremagic(filename):
pass
и теперь в шаблоне я хочу назвать этот маршрут, используя url_for()
вот так:
<h1>you uploaded {{ name }}<h1>
<a href="{{ url_for('/magic/<filename>') }}">Click to see magic happen</a>
Я пробовал:
<a href="{{ url_for('/magic', filename={{ name }}) }}">Click to see magic happen</a>
что бросает!--4-->
может ли кто-нибудь предложить, как получить {{ name }}
, который появляется в шаблоне в url_for()
Так что, когда я нажимаю, я называю правильный app.route
?
1 ответов
все, что внутри {{ ... }}
-Это выражение, подобное Python. Вам не нужно использовать другой {{ ... }}
внутри этого для ссылки на переменные.
сбросить лишние скобки:
<h1>you uploaded {{ name }}<h1>
<a href="{{ url_for('moremagic', filename=name) }}">Click to see magic happen</a>
(заметьте, что тег url_for()
функция принимает конечную точку имя, не путь URL; имя по умолчанию имя функции,moremagic
в вашем примере).