Не поддерживает статическое поведение по умолчанию при запуске gunicorn_django?
myproject_django$ gunicorn_django
обслуживает мой сайт за исключением статических файлов. Есть идеи почему? Я запускаю это из виртуальной среды с использованием Django 1.3.
Дерево проекта
myproject_django
├── core
│ ├── admin.py
│ ├── __init__.py
│ ├── models.py
│ ├── tests.py
│ ├── views.py
├── __init__.py
├── manage.py
├── settings.py
├── static
│ ├── css
│ │ ├── base.css
│ │ ├── layout.css
│ │ └── skeleton.css
│ └── media
│ ├── pek.ico
│ ├── pek.png
│ └── pek_symbol.png
├── templates
│ └── core
│ ├── 404.html
│ ├── 500.html
│ ├── home.html
│ └── install.html
├── urls.py
Потенциально подходящие части settings.py
PROJECT_PATH = os.path.dirname(os.path.abspath(__file__))
MEDIA_ROOT = ''
MEDIA_URL = '/static/media'
STATIC_ROOT = os.path.join(PROJECT_PATH,'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(PROJECT_PATH, 'static'),
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'core',
'gunicorn',
'django.contrib.admin',
)
1 ответ
Решение
Возможно, вы захотите настроить nginx или apache для обработки статических файлов. А пока попробуйте запустить Python manage.py collectstatic и добавьте приведенный ниже код в urls.py
urls.py
if settings.DEBUG:
urlpatterns += patterns('',
(r'^static/media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes':True}),
)
urlpatterns += patterns('',
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT, 'show_indexes':True}),
)