Acessando arquivos “Media” no Django
Gostaria de amar o Django, mas esse negócio de arquivos estáticos e de mídia em ambientes de desenvolvimento está me deixando louco. Por favor, me salve da minha estupide
Estou na minha máquina de desenvolvimento. Eu tenho pastamedia
na raiz do diretório do meu projet
Emsettings.py
Eu tenho:MEDIA_ROOT = ''
eMEDIA_URL = '/media/'
.
Emurls.py
Eu tenho
if settings.DEBUG:
urlpatterns += patterns('',
url(r'^media/(?P<path>.*)$',
'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT, }),
)
Mas a única maneira de obter arquivos de mídia é fazendo referência a/media/media/
por exemplo.<img src="/media/media/image.png" />
.
Eu espero (e quero)<img src="/media/image.png" />
Alguém pode me dizer o que está acontecendo aqui e me fornecer uma receita simples para configurar o manuseio de arquivos de mídi
Muito obrigado
@ Timmy O'Mahony - obrigado! postagem épica e muito clara. Mas deixa algumas perguntas:
(1) eu tenho que usar/media/
e/static/
, nãomedia/
estatic/
ComoMEDIA_URL
e eSTATIC_URL
- estou esquecendo de algo
(2) secollectstatic
mangueiras/static/
, onde você coloca o CSS no nível do site, por exemplo os arquivos CSS do site? Não em/static/
, evidentemente.
(3) Coloquei-os em um diretório '_' fora da raiz do projeto e definoSTATICFILES_DIRS
para apontar para ele - e parece que é onde o servidor de desenvolvimento obtém seus arquivos estáticos, apesar dourlpatterns
diretiva. Se isso estiver errado, onde você coloca o CSS no nível do site durante o desenvolvimento e qual é o fluxo de trabalho em torno decollectstatic
quando você os modifica - você precisa editá-los em um local e colecioná-los em outro local após cada edição?