我正在使用 twitter bootstrap 来绘制进度条,但我想指定进度量。为此,我使用了一个 Python 字符串 thePercent,它被传递到 html(通过 Flask)。

百分比:

"width: 35%"

目前,我的predictions.html 文件如下所示:
<div class="progress">
  <div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 90%;">
    <span class="sr-only">{{thePercent}}% Complete</span>
  </div>
</div>

我的 view.py 文件如下所示:
@app.route("/result")
def resultpage():

    IDnumber = int(request.args.get('ID'))

    with db:
        cur = db.cursor()
        cur.execute("SELECT AnimalID, AdoptionProbability FROM Demo_Data WHERE AnimalID = '" + str(IDnumber) + "' LIMIT 1")
        query_results = cur.fetchall()

    thePercent= str(int(query_results[0][1]))
    theDog = "static/PetPics/" + str(int(query_results[0][0]))
    print thePercent

    return render_template("predictions.html", thePercent=thePercent, theDog = theDog)

编辑:感谢您到目前为止的答复。我应该提到 thePercent 已成功传递给 predictions.html 文件。例如,
        <div class = "caption-full">

                <a>I have a {{thePercent}} % chance of success</a>
        </div>

返回正确的输出

编辑:我应该提到以下代码有效:
<div class="progress">
  <div id = 'progressBar' class="progress-bar" role="progressbar" aria-valuenow="30" aria-valuemin="0" aria-valuemax="100" style="width: 30%;">

    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
    <script> $("#progressBar").css("width",'90%'); </script>

    <span class="sr-only">{{thePercent}} Complete</span>
  </div>
</div>

但是,如果我尝试用 {{thePercent}} 替换 '90%',则会出现错误。

我认为问题是我已经有效地将 JQuery 与 Jinja 混合在一起。但是如何仅使用 Jinja 更改进度条呢?

最佳答案

您不是在打印 thePercent 的值,而是将 style 属性设置为等于 'thePercent' 值。您需要使用 Jinja 的 {{}} 来输出其值,就像您在编辑中所做的那样。

    <div class="progress-bar progress-bar-success" style="width:{{ thePercent }}%">

编辑:

我更新了 style 属性。因为 thePercent 只包含属性的百分比而不是完整值,所以其余的值(例如 width% )需要在模板中处理。

关于python - 将值传递给进度条(twitter bootstrap,Flask),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25225517/

10-12 22:12