Только статические файлы администратора Django -> 404 - PullRequest
3 голосов
/ 05 января 2012

У меня есть проект django, который отлично работает со встроенным сервером, но когда я пытаюсь использовать его на Apache / mod_wsgi, статические файлы страниц администратора (/ static / admin / css) не обнаруживаются (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 Ответ

1 голос
/ 05 января 2012

Как выглядит ваша конфигурация apache virtualhost? Вы должны включить директиву 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 каждый раз, когда вы хотите развернуть новые статические файлы в рабочей среде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...