Python Jinja模板将变量解析为文本字符串

Python Jinja模板将变量解析为文本字符串,python,flask,jinja2,Python,Flask,Jinja2,我遇到了一个问题,Jinja将我传递给它的一个变量当作一个文本字符串,这会破坏Flask所做的URL路由工作 app.py-每个“课程”都有其指定的URL,如/course/所示 尝试#2:我尝试设置一个Jinja变量并将其传递给href标记,但效果不理想 {% for course in courses %} <div class="col-md-4"> <div class="panel panel-default"> <div clas

我遇到了一个问题,Jinja将我传递给它的一个变量当作一个文本字符串,这会破坏Flask所做的URL路由工作

app.py
-每个“课程”都有其指定的URL,如
/course/
所示

尝试#2:我尝试设置一个Jinja变量并将其传递给
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 %}
{%用于课程中的课程%}
{%set url=url_for('course',name=“{{course}”)%}
{%endfor%}

如何为每个
课程
变量动态生成新的
href
标记,而不让Jinja将
href
标记视为文本字符串?

{{
开始一段Python代码。在其中执行的操作遵循Python行为规则,而不是Jinja的规则。您正在传递值
{course}
作为
name
url\u的
。只需使用
课程
作为变量即可

{{ url_for('course', name=course.name) }}
“混乱”是什么意思?生成的html是什么样子的?
{% 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 %}
{{ url_for('course', name=course.name) }}