Не поддерживает статическое поведение по умолчанию при запуске 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}),
            )
Другие вопросы по тегам