0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Djangoのプロジェクトで静的ファイルを参照する方法

0
Posted at

DjangoテンプレートのHTMLでCSSファイルなどの静的ファイルを参照したいとき、参照元に注意しないといけません。ローカル環境のみで使うのであれば、絶対パスでもいいのですが、チーム開発などでプロジェクト内に残しておきたい場合は別の書き方をしないといけません。

今知っている限りでは2つ静的ファイルを参照する方法があります。

作業環境:
macOS Sierra バージョン10.12.5
Python 2.7.10
Django 1.8.1

アプリケーションのディレクトリに置く

デフォルトの設定では使うアプリケーション以下にstaticディレクトリを作成するとDjango側で読みこんでくれます。

my_app
  └── static  
        └── my_app
              ├── css
              └── js

参照したいディレクトリのリストを定義する

別なところに置きたい場合はそのディレクトリが参照できるように、設定ファイルのSTATICFILES_DIRSにパスを追加するとファイルを検索してくれるようになります。

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]


特にDjangoのadmin画面のcssを変更したいといった場合は注意が必要です。admin画面で使用しているbase.cssなどはPCにインストールしたPython内のDjangoが参照元となっているため、プロジェクトのファイルとは別々の扱いになっています。プロジェクトでadmin画面を変更したい場合などは、Django内からテンプレートとCSSをコピーしてきて参照できるようにする必要があります。


参考文献
http://d.hatena.ne.jp/shinriyo/20130814/p4

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?