Django: статические файлы не загружаются

Мой проект django содержит папку STATIC, в которой находятся его дочерние папки css images js и swf. Мой сайт не может найти эти файлы, подняв 404 на сервере разработки, работающем на терминале.

У меня есть файл settings_local.py, в котором я установил путь, например (работает на Ubuntu 11.04)

STATIC_ROOT = '/home/zulaikha/dust.bin/my_project/static/'
STATIC_SERVE_PORT = 80

Пример файла settings-local.py от клиента предлагает предложить так

# static root
STATIC_ROOT = 'C:/Program Files (x86)/XAMPP/htdocs/static'
STATIC_SERVE_PORT = 8080

Я видел некоторые похожие проблемы, но все они касаются STATICFILES, которые я прочитал, был представлен в Django 1.3. Где я ошибаюсь и как я могу исправить себя?

3 ответа

Решение

В простейшем виде это решение проблемы. В проект urls.py включите следующие строки

urlpatterns += patterns('',
    url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {
        'document_root': settings.STATIC_ROOT,
    }),

)

Если вы действительно используете django 1.2, вы должны установить django-staticfiles. Если вы не видите его в прилагаемом файле require.txt от вашего клиента, он либо не замораживает его в файл, либо не использует эту функцию, а просто указывает на него через apache или другой рабочий сервер.

Следуйте этим инструкциям из документов. Конкретно основной раздел: https://docs.djangoproject.com/en/dev/howto/static-files/

Вам нужно будет добавить статические файлы в ваше установленное приложение. Вам также не нужно вручную добавлять URL, поскольку django должен делать это автоматически с помощью команды runserver.

Также убедитесь, что сначала он работает локально, не запуская sudo или пользовательский ip и порт.

Согласно вашим комментариям здесь есть два варианта:

  1. Свяжитесь с программистом, который написал код, и спросите его.
  2. Переписать статическую логику обслуживания с помощью
Другие вопросы по тегам