私はdjango 1.1で新しいプロジェクトを作成するのをやめました.その時から、すでに作成されたアプリケーションでのみ作業していました. それ以来、静的サービングが何らかの形で変更されたと思います(プロジェクトは Django 1.2.4 を使用しています)。私は数時間苦労していますが、結果はありません。誰かが私が間違っていることを知っているなら、私に知らせてください.
私の設定 :
PROJECT_PATH = os.path.realpath(os.path.dirname(__file__))
MEDIA_ROOT = os.path.join(PROJECT_PATH, 'media')
MEDIA_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/media/'
SECRET_KEY = '(d9bahjuyy_i-)4b(w9gc5a&s&5jemcn7&b^wrbuemah3p-6^#'
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
# 'django.template.loaders.eggs.Loader',
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
TEMPLATE_DIRS = (
os.path.join(PROJECT_PATH, 'templates'),
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.admin',
'django.contrib.admindocs',
'project',
)
TEMPLATE_CONTEXT_PROCESSORS = (
"django.core.context_processors.auth",
"django.core.context_processors.request",
"django.core.context_processors.media",
"django.core.context_processors.csrf",
"django.core.context_processors.i18n",
)
URL:
urlpatterns += patterns('',
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes' : True}),
)
メディア ファイルは ../project_path/media にあります。
テンプレートで、{{ MEDIA_URL }} パスを /static/ として取得しますが、ファイルが読み込まれません。http://127.0.0.1:8000/static/ (最後のスラッシュの有無にかかわらず) に移動すると、ルート ページが表示されます。Firebug は、javascript ファイルの代わりにページの html コードを表示します。むしろ 404 エラーが発生することを期待します。問題はどこですか?
1.3 に切り替えました。問題が残ります。