Djangoroidの奮闘記

python,django,angularJS1~三十路過ぎたプログラマーの奮闘記

2016/09/23 日記 django備忘録7 Serving Static Files

Serving Static Files StaticFilesの配信方法

詳しくは、djangoドキュメント参照: 静的ファイル (画像、JavaScript、CSS など) の管理 | Django documentation | Django

参照サイト

try-django-1.8 というjustinさんのサイトを参考に学習を進めています。 https://www.youtube.com/watch?v=KsLHt3D_jsE

markdown記法の備忘録用のリンク Markdown記法 チートシート - Qiita

urlpatterns を設定

ここの設定をそのまま流用する。 静的ファイル (画像、JavaScript、CSS など) の管理 | Django documentation | Django

from django.conf import settings #ここをimportするの忘れない。
from django.conf.urls import include, url
from django.contrib import admin
from django.conf.urls.static import static #ここをimportするの忘れない。

urlpatterns = [
    # Examples:
    url(r'^$', 'newsletter.views.home', name='home'),
    url(r'^contact/$', 'newsletter.views.contact', name='contact'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^admin/', include(admin.site.urls)),
]

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) の意味

詳しくは、公式ドキュメント参照 django.conf.urls utility functions | Django documentation | Django

ようは、staticファイルのurlパターンを簡単に生成してくれるメソッド(関数?)ぽい。 /static/static_root以降のディレクトリ→staticfileまでのpath みたいな感じ。

開発モードの時だけ。Debug = Falseの時は、使えない。

STATIC_URL = '/static/' の意味

static ファイルが、上記のURLから参照になる。 例えば、STATIC_URL = '/staticabc/'にすると、 '' という感じで、static_fileの参照urlは、staticabc/admin みたいな感じになる。 STATIC_ROOTのURLが、STATIC_URL?まあ、とにかく動作は上のようになる。