flask(一)jinja模板

一、flask的默認模板是jinja ,模板默認目錄是你開發的應用目錄下的templates ,例:app/templateshtml

二、導入模板傳遞函數包 :from flask import render_templatepython

       render——template(arguments)主要參數:第一個參數是模板名,以後的參數是模板中須要填充的動態變量參數。flask

     例:數據結構

render_template("home.html",
                title=first_article.get("title"),
                published=first_article.get("published"),
                summary=first_article.get("summary"))

      在模板中用雙大括號表示變量的內容:app

     例:函數

<html>
    <head>
    <title>Headlines</title>
    </head>
    <body>
         <h1>Headlines</h1>
         <b>{{title}}</b><br />
         <i>{{published}}</i><br />
         <p>{{summary}}</p>
    </body>
</html>

三、模板高級用法:spa

  • 使用模板對象:    Python內置的數據結構和對象(包括變量、對象、列表、字典等等)都能被jinja識別和處理 ,處理方式和在Python中一致。如上面的例子能夠簡化爲: 
    render_template("home.html", article=first_article)
    <b>{{article.title}}</b><br />
    <i>{{article.published</i><br />
    <p>{{article.summary}}</p>

     

  • 使用邏輯判斷:模板中可使用for循環、if...else...等邏輯判斷功能,用{%  %}來表示邏輯控制功能如:
    <body>
        <h1>Headlines</h1>
        {% for article in articles %}
             <b>{{article.title}}</b><br />
             <i>{{article.published}}</i><br />
             <p>{{article.summary}}</p>
             <hr />
        {% endfor %}
    </body

     

  • 添加超連接:
    <b><a href="{{article.link}}">{{article.title}}</a></b><br />
相關文章
相關標籤/搜索