Мне поручено установить некоторые аспекты сайта django 1.3, который работает на сервере Apache/PostgreSql. Я пытаюсь настроить его на моей машине разработки, с виртуальной средой с postgres и внутренним сервером разработчиков python.Django не узнает мои статические файлы на моей машине dev
Мне удалось запустить сайт и прочитать его из моего локального экземпляра pg, но я не могу получить его, чтобы распознать мои статические файлы, которые хранятся в /site_media
. Сайт скоро будет переписан, чтобы использовать django 1.6 и папку /static
, но сейчас мне нужно исправить этот сайт.
Я также попытался запустить его с nginx и gnunicorn, но результат тот же, сайт отображается, но без стиля, и все ссылки на файлы в статическом каталоге дают 404. Дальнейшая проверка 404 показывает, что django пытается для разрешения ресурсов с помощью маршрутизатора.
Вот соответствующие настройки:
settings.py:
# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = '/home/nico/src/df2/datos/site_media/'
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = 'http://localhost:8000/site_media/'
Я также добавил следующие конфигурации, но безрезультатно:
INSTALLED_APPS = (
'django.contrib.staticfiles',
)
STATICFILES_DIRS = (
'/home/nico/src/df2/datos/site_media/',
)
STATIC_URL = 'http://localhost:8000/site_media'
Nginx файла конфигурации:
server {
server_name localhost;
access_log off;
location /site_media/ {
alias /home/nico/src/df2/datos/site_media;
}
location/{
proxy_pass http://127.0.0.1:8001;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
}
}
Если вам нужна другой конфиг скажите мне.
Я бы предпочел, чтобы запустить это чисто с сервера питона, но решение с gunicorn/Nginx также хорошо
Прочитали ли вы [документы] (https://docs.djangoproject.com/en/1.3/howto/static-files/) и запустили 'collectstatic'? – jonrsharpe
В частности, вы добавили 'staticfiles_urlpatterns()' в свой urlconf? –
@jonrsharpe Я не могу использовать это, потому что корень со статическими файлами уже настроен как media_root, и я не могу изменить структуру каталогов, чтобы поместить статические файлы там, где они должны быть (как я сказал в сообщении, это будущий шаг, на данный момент сайт должен быть оставлен как есть) –