【问题标题】:How to pass url as parameter in flask template?如何在烧瓶模板中将 url 作为参数传递?
【发布时间】:2015-08-24 09:20:12
【问题描述】:

我想把url作为参数传递到_header.html中,这样以后有变化就可以通过一个函数来改变,这个_header.html包含在base.html中,我是新来的在烧瓶中,所以我只使用{% urlparameter% 我不知道这对与否。请告诉我该怎么做,我们需要为此编写任何 python 函数吗?

这里我使用的是http://192.168.206.133:5001/metering 将来这会改变,所以任何处理此类案例的好方法

_header.html

<h1 class="brand"><a href="http://192.168.206.133:5001/metering"">{% url parameter %}</a></h1>

base.html

<body ng-app="flaskhorizonapp">
    {% block content %}
        <div id="container">
            <div class='topbar'>
                {% include "_header.html" %}
            </div>
        </div>
    {% endblock %}
</body>

【问题讨论】:

标签: python html flask jinja2


【解决方案1】:

在模板中,变量引用被封装在{{}} 中,而不是{%%}。所以你应该把_header.html的内容改成:

<h1 class="brand"><a href="{{ urlparameter }}">{{ urlparameter }}</a></h1>

现在上下文变量urlparameter 的值可以由模板呈现。这是一个简单的 Flask 应用程序:

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def index():
    return render_template('base.html', urlparameter='http://www.stackoverflow.com')

app.debug = True
app.run()

所以你需要将变量urlparameter 传递给render_template()。请注意,我启用了调试,因为这将帮助您在开发过程中发现此类错误。

render_template() 假定您的模板位于包含您的烧瓶脚本的目录的子目录中。子目录必须命名为templates

查看here了解更多详情。

【讨论】:

    猜你喜欢
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-09
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多