Flask Academy · レッスン

Blueprint専用のテンプレートと静的ファイル

各Blueprintに固有のアセットを持たせます

レッスン 4/413 ステップ

「Blueprint専用のテンプレートと静的ファイル」はCoddyKit上の無料Flask Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはFlask Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Flask Academyコースには全4レッスンが含まれています。

各機能が自身のアセットを管理する

本当にモジュール化されたblueprintは、自身のテンプレートと静的ファイルを持ちます。これにより機能が自己完結し、簡単に移動できるようになります。

テンプレートフォルダーを指定する

blueprintを作成するときにtemplate_folderを設定します。これにより、Flaskはこのblueprintのページをレンダリングする際に、そのフォルダーも検索します。

blog = Blueprint("blog", __name__,
    template_folder="templates")

フォルダーは相対パスになる

このテンプレートパスは、__name__によってblueprintモジュールからの相対パスになります。Flaskはblueprintファイルの場所を基準に解決します。

テンプレートは検索されるが分離はされない

Flaskはすべてのテンプレートフォルダーを1つの検索パスに統合します。blueprintのフォルダーはグローバルなアプリのテンプレートに追加されるだけで、完全に隔離されるわけではありません。

テンプレート名の衝突を避ける

フォルダーは統合されるため、同じファイル名を持つ2つのblueprintが衝突する可能性があります。blueprintごとのサブフォルダーに入れてテンプレートを名前空間化してください。

render_template("blog/post.html")

静的フォルダーを追加する

blueprintは独自のCSSや画像も含められます。作成時にstatic_folderを設定し、この機能専用のアセットを格納します。

blog = Blueprint("blog", __name__,
    static_folder="static")

Blueprintの静的ファイルにリンクする

url_forと名前空間付きのstaticエンドポイントを使ってアセットを参照します。これにより、各blueprintが自身のファイルを整理して提供できます。

url_for("blog.static", filename="blog.css")

静的URLパスを設定する

static_url_pathを使ってアセットの公開ルートを指定します。これは、ブラウザーがblueprintのファイルを取得するときに使うURLを制御します。

Blueprint("blog", __name__,
    static_url_path="/blog-static")

アプリの静的ファイルも存在する

メインアプリは共有アセット用に独自の/staticを保持します。blueprintの静的ファイルはその隣に配置され、それぞれ独自のエンドポイントからアクセスできます。

整理されたBlueprintフォルダー

その成果は、ルート、テンプレート、静的ファイルが1か所にまとまった整理されたパッケージです。そのフォルダー全体が、再利用の準備が整った機能になります。📦

blog/
  routes.py
  templates/blog/
  static/blog.css

持ち運べる設計

アセットもコードと一緒に移動するため、blueprintを別のプロジェクトにコピーしても、追加設定をほとんどせずに動作します。🚀

理解度チェック

blueprintの静的ファイルには、どのようにリンクしますか?

まとめ

blueprintにtemplate_folderとstatic_folderを設定すると、アセットを管理し、テンプレートを名前空間化できます。また、blog.staticを介して静的ファイルにリンクできます。🎉

無料で開始

AI チューターと学ぶ Python — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「Blueprint専用のテンプレートと静的ファイル」レッスンは無料ですか?

はい。「Blueprint専用のテンプレートと静的ファイル」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Flask Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Flask Academyコースには全4レッスンが含まれています。

「Blueprint専用のテンプレートと静的ファイル」で何を学びますか?

各Blueprintに固有のアセットを持たせます ブラウザで直接実行するハンズオンコードでFlask Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Flask Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのFlask Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「Blueprint専用のテンプレートと静的ファイル」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このFlask Academyレッスンでコードを書いて実行できますか?

はい。すべてのFlask Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 巨大な1ファイル構成よりBlueprintが優れている理由
  2. Blueprintを作成して登録する
  3. URLプレフィックスとBlueprintのurl_for
  4. Blueprint専用のテンプレートと静的ファイル
← Flask Academyに戻る