• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
  • Skip to footer

AI活用エンジニアへの道

生成AI時代のエンジニアの生き方を考えるメディア(作成途中)

  • コラム
  • 生成AI
  • プログラミング
    • Python入門
    • Flask入門
    • Django入門
  • プロフィール
Home / プログラミング / Django / Djangoの静的ファイル(STATICFILES_DIRS)の配置先設定の方法

Djangoの静的ファイル(STATICFILES_DIRS)の配置先設定の方法

1 Djangoの静的ファイルの配置先設定の仕方
2 関連記事

Djangoの静的ファイルの配置先設定の仕方

以前の記事で、テンプレートフォルダの設定方法を記述した。

この記事では、静的ファイルを格納するディレクトリの設定方法を記載する。

静的ファイルは、css、js、などのコンテンツや、jpgなどのイメージファイルのことを言い、これらは、1つのディレクトリにまとめて管理するのが一般的である。

 

Djangoでは、この静的ファイルの配置先をsettings.py内に記述して設定する。
以下のように設定する。

プロジェクトフォルダ直下のsettings.pyのSTATIC_URL,STATICFILES_DIRSを記載する。

Example

  • settings.py(settings.pyの詳細はこちらへ)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
import os
STATIC_DIR = os.path.join(BASE_DIR, "static")

STATIC_URL = '/static/' # 静的ファイル配置先のディレクトリへのURL。http://ドメイン名:ポート名/static/フォルダ/ファイル名でアクセスできるようになる

STATICFILES_DIRS = [ # 静的ファイルの配置先。この例では、STATIC_DIR(BASE_DIR/static)が設定される。
    STATIC_DIR,
]

(BASE_DIRについてはこちら)を参照ください

テンプレートのhtmlには以下のように、load staticと{% static 'ファイルのパス'%}を記載する。

(今回の例では、STATIC_DIRにimages,cssフォルダを作成し、それぞれに、testorig.jpg,style.cssを配置した)

  • htmlファイル
<!DOCTYPE html>
{% load static %} <!-- settings.pyのstaticfileの設定を読み込む -->
<html>
    <head>
        <meta charset="utf-8">
        <title>First App</title>
        <link rel="stylesheet" href={% static "css/style.css" %}><!-- STATIC_DIR/css/style.cssを読み込む -->
    </head>
    <body>
        <h1>Hello this is index.html</h1>
        <img src="{% static "images/testorig.jpg" %}" alt="testorig.jpg"><!-- STATIC_DIR/images/testorig.jpgを読み込む -->
    </body>
</html>

 

  • style.css
h1{
    color: red;
}

djangoを立ち上げて、URLにアクセスすると以下のような画面が表示される。

また、http://{URL}/static/images/testorig.jpgとしても、画像にアクセスし以下のように表示る。

 
STATICFILES_DIRSには、複数パスを設定することもできる。

  • settings.py
STATICFILES_DIRS = [
    STATIC_DIR,
    '/tmp'
]

上の例だと、STATIC_DIRのほかに/tmpフォルダも静的ファイル格納先に指定している。以下の例では、/tmp/python.pngを配置した。

  • index.html

{% load static %}
<html>
    <head>
        <meta charset="utf-8">
        <title>First App</title>
        <link rel="stylesheet" href={% static "css/style.css" %}>
    </head>
    <body>
        <h1>Hello this is index.html</h1>
        <img src="{% static "images/testorig.jpg" %}" alt="testorig.jpg">
        <img src="{% static "python.png" %}" alt="python.png">
        <!-- staticルートを検索して、/tmp/python.pngが表示される -->
    </body>
</html>

画面は以下のように表示される。

ちなみに、STATICFILES_DIRSに複数パスを指定し、パス上に同名のファイルを配置すると、後で記載したほうのパス上のファイルが優先して表示される。

関連記事

Pythonの型ヒント:コレクション型とOptional型の使い方
Pythonの型ヒント:コレクション型とOptional型の…
Python型ヒントについて、変数と関数の引数と戻り値に付与する基本的な書き方について
Python型ヒントについて、変数と関数の引数と戻り値に付与…
【まとめ】よく使うLinuxのショートカット11選
【まとめ】よく使うLinuxのショートカット11選
覚えておくべきLinuxコマンド50選
覚えておくべきLinuxコマンド50選
FlaskでFormを用いてPOSTリクエストを行い、送信された値を取得する
FlaskでFormを用いてPOSTリクエストを行い、送信さ…
Flaskでabortを用いてHTTPException例外を強制的に発生させる
Flaskでabortを用いてHTTPException例外…

Primary Sidebar

人気記事

  • 1
    ITエンジニアとしてスキルを高めるためのUdemy講…
  • 2
    PyCharm,IntelliJのおすすめプラグイン一覧
  • no image 3
    Python未経験だが、フリーランスの案件に採用さ…
  • 4
    アメリカのシリコンバレーでプログラミングを無…

特集記事

  • 1
    Cursorの使用のポイントとコツ(コード補完、イ…
  • 2
    ITエンジニアとしてスキルを高めるためのUdemy講…

目次

1 Djangoの静的ファイルの配置先設定の仕方
2 関連記事
StartCode ロゴ
AI時代のエンジニアを最速で育てる
法人向けIT研修で即戦力を育成しています。詳しくはお問い合わせください。
▶ 詳細はこちら
Django講座
【Udemy】Django入門講座(0からDjangoを学習: Python講座つき)
受講生6500人ほどの人気講座。<strong>View, Template, Model, Cla...
詳細 ▶

Footer

利用規約