When it’s ready.

出来るまで出来ない

Django MEDIA 設定 静的ファイルの配信(開発時)

Djangoでは、基本的にファイルは動的に生成されている。画像ファイルやJスクリプトは、別サーバーで提供するのが望ましいとされているが、開発時にはその限りではないのでそこのところをどうにかしたい。

構成要素的なもの

  • fileやpathなどです
    • 読み込みたいファイル達
      • hoge.js
      • foo.css
    • 配置するディレクトリ
      • [proj/app/]media/

設定するとこ

  • setting.py
import os
BASE_PATH = os.path.abspath(os.path.split(__file__)[0])

MEDIA_ROOT = os.path.join(BASE_PATH, 'media')

MEDIA_URL = '/media_site/'

ADMIN_MEDIA_PREFIX = '/media/'
  • urls.py
from django.conf.urls.defaults import *
from django.conf import settings
from django.contrib import *

urlpatterns = patterns('',
    (r'^admin/', include('django.contrib.admin.urls')),
    (r'^login/$', 'django.contrib.auth.views.login'),
    (r'^logout/$', 'django.contrib.auth.views.logout'),


    (r'^media_site/(?P<path>.*)$','django.views.static.serve', dict(document_root=settings.MEDIA_ROOT)),
)