フラスコのテンプレートと静的ファイル
導入
テンプレートと静的なファイルは、Web開発の様々な側面に役立ちます.
以前のチュートリアルでは、我々はどのようにフラスコでは、チュートリアルで使用される方法では、大規模なプロジェクトで使用することはできませんこんにちは世界プログラムを実行する方法を学んだ.
なぜテンプレート?
大きなプロジェクトに取り組んでいる間、ブラウザで大きなHTMLコードをレンダリングする必要があります.その上、我々はHTMLファイルでHTMLコードを保存して、Flickrアプリで神社テンプレートエンジンの助けを借りてレンダリングします.
そこで、このチュートリアルでは、どのようにテンプレートと静的なファイルを使用してフラスコに表示されます.
テンプレートのレンダリング
テンプレートをレンダリングするには、テンプレートを保存できるテンプレートサブフォルダを作成する必要があります.デフォルトでは、フラスコは、アプリケーションフォルダ内のテンプレートサブフォルダにテンプレートを探します.
ここでは、テンプレートをフラスコにレンダリングするコードです.
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def home():
return render_template("home.html")
if __name__=="__main__":
app.run(debug=True)
テンプレートをレンダリングするにはrender_template
関数.このrender_template
関数はJinja 2テンプレートエンジンをアプリケーションと統合します.ファイル名(テンプレート名)を最初の引数として受け取ります.追加引数は、テンプレートで参照される変数の実際の値を表すキー/値のペアです.テンプレートの変数の使用
テンプレートの変数の使用方法を理解しましょう.
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def home():
name = "Sam"
return render_template("home.html", name=name)
if __name__=="__main__":
app.run(debug=True)
上記のコードでは、追加引数を追加しますname
どのテンプレートを使用しますかhome.html
.htmlのHTMLコードは、ここにあります
Home.html
.<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Home</title>
</head>
<body>
<h1> Hello {{ name }} </h1>
</body>
</html>
The {{ name }}
テンプレート参照で使用される構成name
変数(追加引数)をここに置く必要があります.Jinja 2は任意の型の変数を認識できます.これは、リスト、辞書やオブジェクトなどの複雑な種類を認識することができます.テンプレートで使用される変数の例を次に示します.
<p>A value from a dictionary: {{ mydict['key'] }}.</p>
<p>A value from a list: {{ mylist[3] }}.</p>
<p>A value from a list, with a variable index: {{ mylist[myintvar] }}.</p>
<p>A value from an object's method: {{ myobj.somemethod() }}.</p>
静的ファイル
サイトをより魅力的にするために、静的ファイルが必要です.強力なアプリケーションは、JavaScript、画像やCSSのような静的ファイルなしで有用であることはできません.
アプリケーションで静的ファイルを使用するには
static
静的ファイルを保存するサブフォルダ.その後、コールする必要があります
url_for('static', filename='css/styles.css', _external=True)
返り値http://localhost:5000/static/css/styles.css .静的なファイルをロードしたいとしましょう
favicon.ico
HTMLテンプレートで.次のコードブロックをテンプレートに挿入します.<link rel="icon" href="{{ url_for('static', filename = 'favicon.ico') }}"
type="image/x-icon">
感謝記事を読むTemplates and Static files in flask
Reference
この問題について(フラスコのテンプレートと静的ファイル), 我々は、より多くの情報をここで見つけました https://dev.to/ramanbansal/templates-and-static-files-in-flask-6h3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol