Я использую Django 1.4 с Python 2.7 на Ubuntu 12.10. Я работаю в команде разработчиков, и, кажется, что-то изменилось со вчерашнего дня на сегодняшний день, и я не могу загружать статические файлы локально с помощью runserver. У нас есть среда разработки, которая работает нормально. Все другие локальные среды разработчиков работают нормально. Наша производственная среда работает нормально. Мы, как команда, немного в тупике и надеялись, что сообщество сможет пролить свет на проблему.
Вот соответствующие части проекта:
проект.urls
if settings.TEMPLATE_DEBUG:
urlpatterns += patterns('django.views.static',
(r'^media/(?P<path>.*)$', 'serve', {
'document_root': settings.MEDIA_ROOT}),
(r'^static/(?P<path>.*)$', 'serve', {
'show_indexes': True,
'document_root': settings.STATIC_ROOT}),
)
проект.settings.dev
from __init__ import *
DEBUG = True
TEMPLATE_DEBUG = True
проект.настройки
PROJECT_ROOT = os.path.join(os.path.dirname(__file__), '..')
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
STATIC_URL = '/static/'
Структура проекта:
project
--apps/
--<dozens of apps>
--settings/
--__init__.py
--dev.py
--staticfiles/
--templates/
--__init__.py
--manage.py
--tests.py
--urls.py
Я удалил project/static/
и запустил manage.py collectstatic
, который копирует 404 статических файла в project/static/
из project/staticfiles/
.
Если я затем запущу manage.py runserver
, я увижу сайт, но статические стили/файлы не будут загружены.
Обратите внимание, похоже, больше ни у кого нет этой проблемы. Мы все используем одну и ту же базу кода из Github. Буквально нет причин, по которым я должен столкнуться с этой проблемой, а другие нет. Любые идеи? Я подумываю просто использовать Apache2 локально и настроить файл .wsgi и вообще пропустить сервер Django, но я бы не хотел.
Редактировать 1: я заметил, что сервер Django немного жаловался на некоторые статические файлы.
[20/Feb/2013 16:59:40] "GET /accounts/login/ HTTP/1.1" 302 0
[20/Feb/2013 16:59:40] "GET /dashboard/ HTTP/1.1" 200 8645
[20/Feb/2013 16:59:40] "GET /static/js/libs/less/less.js HTTP/1.1" 404 950
[20/Feb/2013 16:59:40] "GET /static/less/proton-app.less HTTP/1.1" 404 950
[20/Feb/2013 16:59:40] "GET /static/CACHE/js/987f5472f2f9.js HTTP/1.1" 404 950
[20/Feb/2013 16:59:41] "GET /static/CACHE/js/d5e323c0aed6.js HTTP/1.1" 404 950
[20/Feb/2013 16:59:41] "GET /static/images/favicon.png HTTP/1.1" 404 950
Мои извинения. Да, есть ошибки 404, связанные со статическими файлами.