Flask

【Python】Flaskのurl_forを使って画像やcss/jsを読み込む方法

この記事は約3分で読めます。

 

こんにちは!今日はPythonのWebフレームワークであるFlaskを使って、url_forを利用して静的コンテンツ(画像、CSS、JavaScriptなど)を読み込む方法について解説します。

 

Flaskと静的コンテンツ

 

Flaskでは、「static」という名前のディレクトリに静的コンテンツを保存します。これはFlaskがデフォルトで設定している静的コンテンツの保存場所で、特別な理由がない限りはこのディレクトリを使うと良いでしょう。

例えば、プロジェクトのディレクトリ構造は以下のようになるかもしれません:

 

/myproject
/static
/css
style.css
/js
script.js
/img
logo.png
/templates
index.html
main.py

 

この例では、/static ディレクトリの下にさらに/css, /js, /img ディレクトリを作成し、それぞれのディレクトリにCSSファイル、JavaScriptファイル、画像ファイルを配置しています。

 

url_forを使って静的コンテンツを読み込む

 

静的コンテンツを読み込むためには、Flaskのurl_for関数を使います。この関数は動的にURLを生成するためのもので、特に引数として'static'を指定すると静的コンテンツへのURLを生成します。

例えば、上記のディレクトリ構造の場合、style.cssファイルを読み込むためのURLは以下のようにして生成します。

 

<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">

 

同様に、JavaScriptファイルと画像ファイルを読み込むためのURLは以下のようになります。

<script src="{{ url_for('static', filename='js/script.js') }}"></script>
<img src="{{ url_for('static', filename='img/logo.png') }}" alt="Logo">

 

url_for関数の第一引数に'static'を指定し、第二引数filenameに対して静的コンテンツのパスを指定しています。このパスは/staticディレクトリからの相対パスとなります。

このように、Flaskのurl_for関数を使って静的コンテンツを読み込むことができます。この機能を使えば、Webページに必要なスタイルやスクリプト、画像などを簡単に読み込むことができます。

 

参考資料:

Flaskのテンプレートでurl_forを用いてリンク作成、画像表示を行う。 - Tech Life
url_forは、エンドポイントから、そのURLを生成する関数で、テンプレート上でaタグでリンクを作成したり画像を表示する場合などに用いられる。ここでは、url_forを用いた画面遷移、値を渡した画面遷移、テンプレートでの画像の表示、css, javascriptファイルの読込みを行うことができる。...
Forbidden - Stack Exchange

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

タイトルとURLをコピーしました