Найти - Пользователи
Полная версия: почему джанго отдает статику, а медию нет?
Начало » Django » почему джанго отдает статику, а медию нет?
1
ilnur
джанго 1.4.5

settings.py
MEDIA_ROOT = os.path.join(ROOT_PATH, 'media')
MEDIA_URL = '/media/'
STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(ROOT_PATH, 'static'),
)
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
в итоге джанго статику отдает без проблем. но не видит медию.
необходимо прописать в урлы медию
if settings.DEBUG:
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
                'document_root': settings.MEDIA_ROOT,}),
)

почему так?
wiygn
Потому что статика используется в разработке, а медиа уже загруженный пользователем контент, возможно.
mks
Попробуйте в главном urls.py дописать такие строки:
from django.conf.urls.static import static
from django.conf import settings
if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Насколько помню я это где то в доках вычитал, с тех пор оно кочует из проекта в проект.
ilnur
просто я к чему задал этот вопрос.
в настройках путь к медии прописывается. а джанго медию не отдает.
в настройках же статика прописывается, и джанго сама его отдает.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB