Я хотел бы любить 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
, когда вы их изменяете - вам нужно редактировать их на одном месте и собирать их где-то еще после каждого редактирования?