2015-08-24 54 views
-1

我想在_header.html中傳遞url作爲參數,以便在將來有任何變化到達時,我們只能通過一個函數進行更改,這個_header.html包含在base.html中,我是新的燒瓶所以我只是使用{% urlparameter%我不知道這個權利或不。請告訴我該怎麼做,我們是否需要爲此編寫任何python函數?如何在url模板中傳遞url作爲參數?

這裏我使用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> 
+1

http://stackoverflow.com/questions/11124940/creating-link-to-an-url-of-flask-app-in-jinja2-template可能會幫到你 –

+1

http://flask.pocoo.org/文檔/ 0.10 /教程/模板/ –

回答

0

在模板中,變量引用被封裝在{{}},而不是{%%}。所以,你應該改變_header.html的內容:

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

現在上下文變量urlparameter的值可以通過模板來渲染。下面是一個簡單的應用程序瓶要做到這一點:

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瞭解更多詳情。