Djangoの開発用のWebサーバ自体が静的ファイルを配信する機能がついてるので、開発時はそれを利用するのが一般的です。
上で述べたたように django.contrib.staticfiles を利用する場合、 DEBUG が True であれば runserver は自動的にこの処理を行います。もし INSTALLED_APPS 内に django.contrib.staticfiles が存在しない場合は、手動で django.views.static.serve() ビューを用いて静的ファイルを取り扱わなければなりません。
この機能は本番環境で利用するのに適していません! 一般的なデプロイ方法に関しては 静的ファイルのデプロイ を参照ください。
via https://docs.djangoproject.com/ja/2.1/howto/static-files/#serving-static-files-during-development
具体的には
- INSTALLED_APPS に
django.contrib.staticfiles
を追加
DEBUG = True
に設定
STATICFILES_DIRS
を設定する
# 例:
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
みたいな設定をして、あとはDjangoのテンプレートで以下のようにすれば、staticディレクトリ以下にある静的ファイル探して配信してくれます。(=つまり毎回 collecstatic しなくても大丈夫です)
{% load static %}
<html>
<head>
<script type="text/javascript" src="{% static "hoge.js" %}"></script>
</head>
collectstatic というコマンドは、本番公開をする時などに、runserver
以外のWebサーバ(nginx,Apache)とかで静的ファイルを配信する時に、特定の場所に静的ファイルを集めたいといった場合に利用します。
参考: https://docs.djangoproject.com/ja/2.1/howto/static-files/deployment/
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/05 23:41