Статические файлы не найдены в django 1.4
Во время развертывания приложения Django. У меня проблема со статическими файлами. У меня есть файлы JS и CSS в статическом каталоге. Но браузер не может найти эти файлы. У меня те же файлы и настройки на локальном компьютере, который является Ubuntu так же, как серверная ОС, и работает на локальном компьютере. Хотя он имеет те же настройки, но я вставляю этот статический каталог и настройки файлов ниже.
# Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: "/home/media/media.lawrence.com/media/"
MEDIA_ROOT = ''
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
MEDIA_URL = ''
# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = os.path.join(ROOT_PATH,'static')
# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'
# Additional locations of static files
STATICFILES_DIRS =(
os.path.join(ROOT_PATH,'static'),
)
# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
Здесь корневой путь в приведенном выше коде определен до этого:
import os
#from django.contrib.sites.models import Site
ROOT_PATH = os.path.dirname(__file__)
Я использую mod_wsgi с apache2, в моем понимании он должен найти файлы при загрузке /somefoldername, тогда браузер должен зайти в этот каталог, но не понял, в чем проблема. Чтобы узнать об окружении, настройках wsgi и т. Д., Я следую ниже, вот вопрос, в котором я разместил информацию о моем файле wsgi и о том, как он работает: ошибка 500 на сервере django после перехода на сервер
У меня много раз возникали проблемы при поиске приложений и других шаблонов, модулей и т. Д. Даже в команде syncdb на сервере, для шаблонов я добавил корневой путь, и он начал работать, а также добавил путь к проекту в файле wsgi, но проблема статических файлов не решена. Пожалуйста, скажите, если вы, ребята, имеете какое-либо представление о том, что я делаю неправильно или в чем проблема здесь.
заранее спасибо ребята
2 ответа
Документация по Django охватывает эту тему. Увидеть:
Когда вы запускаете "collectstatic", все ли файлы копируются в STATIC_ROOT?Сначала вы должны проверить это, чтобы знать, где находятся файлы.
Вы настроили apache для обслуживания статических файлов в STATIC_ROOT как "/ static /"? Django не предоставляет статические файлы для вас в производственной среде (DEBUG=False), поэтому вам необходимо настроить программное обеспечение веб-сервера так, чтобы оно обслуживало вас.
Кроме того, я не думаю, что вы хотите, чтобы ваши STATICFILES_DIRS содержали тот же путь, что и STATIC_ROOT. Файлы копируются из директорий в STATICFILES_DIRS в STATIC_ROOT. Ваш STATICFILES_DIRS должен содержать каталоги, которые иначе не ищутся во время "collectstatic".
Предупреждение
Это будет работать, только если DEBUG - True.
Это потому, что это представление крайне неэффективно и, вероятно, небезопасно. Это предназначено только для локальной разработки и никогда не должно использоваться в производстве.
Если вам по-прежнему требуется статический сервер локально (например, для тестирования без отладки), вы можете запустить сервер разработки в небезопасном режиме:
python manage.py runserver --insecure
Приятного настроения:)