2012-01-05 8 views
2

У меня есть проект django, который отлично работает со встроенным сервером, но когда я пытаюсь использовать его на Apache/mod_wsgi, статические файлы страниц администрирования (/ static/admin/css) не найдены (404). Вот мои настройки:Django admin только статические файлы -> 404

MEDIA_ROOT = '' 
MEDIA_URL = '' 
STATIC_ROOT = '/var/www/wsgi/myproject/static' 
STATIC_URL = '/static/' 
ADMIN_MEDIA_PREFIX = '/static/admin/' 

STATICFILES_DIRS =() 

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder', 
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
    ) 


TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader', 
    'django.template.loaders.app_directories.Loader', 
    ) 

TEMPLATE_CONTEXT_PROCESSORS = (
    "socialauth.context_processors.facebook_api_key", 
    'django.core.context_processors.media', 
    "django.contrib.auth.context_processors.auth", 
    "django.core.context_processors.request", 
    "django.core.context_processors.static", 
    ) 

ROOT_URLCONF = 'myproject.urls' 

TEMPLATE_DIRS = ('/var/www/wsgi/myproject/templates',) 

INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'django.contrib.admin', 
    'myproject.myapp', 
    ) 

Я также попытался запустить

sudo python ./manage.py collectstatic 

, но не повезло.

ответ

1

Как вы выглядите, как выглядит apache virtualhost config? Вы должны включить директиву Alias для пути STATIC_ROOT.

Что-то вдоль этих линий:

Alias /static [project-path]/static 
Alias /media [project-path]/media 
<Directory [project-path]/static> 
    Order deny,allow 
    Allow from all 
</Directory> 
<Directory [project-path]/media> 
    Order deny,allow 
    Allow from all 
</Directory> 

Как вы написали, что вам нужно будет запускать ./manage collectstatic каждый раз, когда вы хотите, чтобы развернуть новые статические файлы в производстве.