Я хотел бы любить Django, но это дело статических и медиафайлов в средах разработки меня заводит. Пожалуйста, спаси меня от моей глупости.
Я нахожусь на моей машине разработки. У меня есть папка media в корне моей директории проекта.
В settings.py у меня есть: MEDIA_ROOT = '' и MEDIA_URL = '/media/'.
В urls.py у меня есть:
if settings.DEBUG:
    urlpatterns += patterns('',
        url(r'^media/(?P<path>.*)$',
            'django.views.static.serve',
            {'document_root': settings.MEDIA_ROOT, }),
    )
Но единственный способ получить медиафайлы - ссылка на /media/media/ например.
<img src="/media/media/image.png" />.
Я ожидаю (и хочу) <img src="/media/image.png" />
Может ли кто-нибудь сказать мне, что здесь происходит, и дать мне простой рецепт настройки обработки медиафайлов?
Большое спасибо.
@Тимми О'Махони - спасибо! эпический пост, и очень ясный. Но он оставляет пару вопросов:
(1) Я должен использовать /media/ и /static/, а не media/ и static/ как MEDIA_URL и и STATIC_URL - я что-то упустил?
(2) Если collectstatic шланги /static/, где вы помещаете CSS на уровне сайта, например. файлы CSS сайта? Не в /static/, очевидно.
(3) Я поместил их в каталог "_" из корня проекта и установил STATICFILES_DIRS, чтобы указать на него - и, похоже, сервер разработки получает свои статические файлы, несмотря на директиву urlpatterns. Если это неверно, где вы добавляете CSS-уровень сайта во время разработки и каков рабочий процесс вокруг collectstatic, когда вы их изменяете - вам нужно редактировать их на одном месте и собирать их где-то еще после каждого редактирования?