1. 程式人生 > >pythonweb框架Flask學習筆記04-模板繼承

pythonweb框架Flask學習筆記04-模板繼承

ctype ret ini world! ima style urn ren .com

# -*- coding:utf-8 -*-

from flask import render_template,Flask

app=Flask(__name__)

@app.route(/hello/)
@app.route(/hello/<name>)
def hello(name=None):
    return render_template(hello.html,name=None)

if __name__==__main__:
    app.run(debug=True)

‘‘‘
模板繼承可以讓模板使用起來相當順手
自動轉義功能默認是開啟的。name包含Html 他將會被自動轉義
如果你能信任一個變量,並且你知道它是安全的(例如一個模塊把 Wiki 標記轉換為 HTML),你可以用 Markup 類或 |safe 過濾器在模板中把它標記為安全的。

以上是運行的主程序 代碼位於~/mypythonproject文件夾下

模板hello.html位於 ~/mypythonproject/templates下

<!doctype html>
<title>Hello from Flask</title>
{% if name %}
  <h1>Hello {{ name }}!</h1>
{% else %}
  <h1>Hello World!</h1>
{% endif %}

運行後網頁訪問結果如下圖:

技術分享圖片

Flask 會在 templates

文件夾裏尋找模板。所以,如果你的應用是個模塊,這個文件夾應該與模塊同級;如果它是一個包,那麽這個文件夾作為包的子目錄:

情況 1: 模塊:

/application.py
/templates
    /hello.html

情況 2: 包:

/application
    /__init__.py
    /templates
        /hello.html

以上示例屬於情況一

pythonweb框架Flask學習筆記04-模板繼承