У меня проблема, когда Jinja обрабатывает переменную, которую я передаю ей как литеральную строку, которая закручивает работу маршрутизации URL, выполняемую Flask.Jinja шаблон анализирует переменную как литерал string
app.py
- каждый «курс» имеет свой назначенный URL, как показано /course/<name>
.
@app.route("/course/<name>")
@login_required
def course(name):
collection = mongo.db.courses
course = collection.find_one({"name": name})
return render_template("course.html", course=course)
profile.html
- Эти «курсы» будет отображаться на странице profile.html
, и они должны иметь href
тегов, которые приводят их к соответствующему оказанной course.html
страницы.
Попытка # 1: Я попытался переходящая в {{ course }}
в параметре name
, но URL был перепутались, как Дзиндзя относился к ней в виде строки в целом.
{% for course in courses %}
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-body">
<a href="{{ url_for('course', name='{{ course }} }}">{{ course }}</a>
</div>
</div>
</div>
{% endfor %}
Попытка # 2: Я попытался создать переменную дзиндзя и мимоходом, что в href
тег, но это не работает, как хорошо.
{% for course in courses %}
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-body">
{% set url = url_for('course', name="{{ course }}") %}
<a href="{{ url }}">{{ course }}</a>
</div>
</div>
</div>
{% endfor %}
Как я могу динамически генерировать новые href
тегов для каждого переменной course
без Дзиндзя лечения href
тегов как символьная строка?
Что вы подразумеваете под «перепутали»? Как выглядит сгенерированный html? – Nicomak