我是Django(1.5)的新手,我很难在MEDIA_ROOT中对媒体文件夹进行相对配置。 我无法在我的项目中收取文件.css,.js,.jpg。我在shell中收到以下消息:
[06 / Oct / 2013 19:12:01]“GET /media/css/style.css HTTP / 1.1”404 4140
这是项目的树:
这是我的配置
setting.py
MEDIA_ROOT = os.path.join(os.path.dirname(__file__), 'media/')
MEDIA_URL = '/media/'
STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = (
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
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',
# Uncomment the next line for simple clickjacking protection:
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
ROOT_URLCONF = '_3Ms.urls'
WSGI_APPLICATION = '_3Ms.wsgi.application'
TEMPLATE_DIRS = os.path.dirname(__file__), 'templates',
)
home.html的
{% block css %}<link href="/media/css/style.css" rel="stylesheet">{% endblock %}
提前谢谢
答案 0 :(得分:3)
您通常使用STATIC_URL
作为CSS和Javascript等静态资源。媒体用于管理员或用户上传的文件。
请填写您的STATICFILES_DIR
并在模板中使用STATIC_URL
。
设定:
import os.path
PROJECT_PATH = os.path.abspath(os.path.join(os.path.split(__file__)[0], '..'))
STATICFILES_DIRS = [
'/path/to/your/static/assets',
os.path.abspath(os.path.join(PROJECT_PATH, '..', 'static')),
]
模板:
{% block css %}<link href="{{ STATIC_URL }}css/style.css" rel="stylesheet">{% endblock %}
我假设你正在使用Django devserver。