2017-08-15 117 views
-1

比方說,我有一個包含一些HTML代碼flask_app.py應用程序,我想打印一個Python變量:結合Python的燒瓶HTML頁面內

from flask import Flask 
app = Flask(__name__) 

myString = foo 

@app.route("/") 
def hello(): 
    return """<!DOCTYPE html> 
     <html> 
      <body> 
       <p>""" + myString + """ 
      </body> 
     </html>""" 

現在這工作正常,但不真正可擴展。我在index.html文件中有基本的HTML片段,我怎樣才能使用它產生相同的結果(和打印myString)?

+0

IIUC你想要一個類似於帶有RoR的erb文件的東西,對嗎?你看過jinja2嗎? –

+1

您的問題的答案在燒瓶文檔中。具體在[介紹模板的部分](http://flask.pocoo.org/docs/0.12/quickstart/#rendering-templates)。 –

+0

@SrinivasSuresh是的東西類似。如果它允許在html中傳遞python變量,我會看看jinja2。 –

回答

0

將這個文件是/tmp/x.py

from flask import Flask, render_template 
app = Flask(__name__) 

myString = 'foo' 

@app.route("/") 
def hello(): 
    return render_template('index.html', myString=myString) 

app.run(debug=True) 

這個文件中/tmp/templates/index.html

<!DOCTYPE html> 
<html> 
    <body> 
     <p>{{ myString }} 
    </body> 
</html> 

然後運行這個命令:

python /tmp/x.py 

參考:

http://flask.pocoo.org/docs/0.12/quickstart/#rendering-templates