Django - Служба Media ValueError - PullRequest
0 голосов
/ 14 июня 2011

Я пытаюсь обслуживать загруженные пользователем медиа-файлы в моей среде разработки.

#settings.py
#[...]
import os
SITE_ROOT = os.path.dirname(os.path.realpath(__file__))
MEDIA_ROOT = (os.path.join(SITE_ROOT, 'media/'))
MEDIA_URL = '/media/'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
  os.path.join(SITE_ROOT, 'static/'),
)
#[...]

#url.py
urlpatterns = patterns('',
  #[...]
  url(r'^%s(?P<path>.*)$' % settings.MEDIA_URL[1:], 'django.views.static.serve',
    {'document_root', settings.MEDIA_ROOT}
  ),
  url(r'^%s(?P<path>.*)$' % settings.STATIC_URL[1:], 'django.views.static.serve',
    {'document_root', settings.STATIC_ROOT}
  ),
)

Пытаюсь получить доступ к загруженному файлу, как http://127.0.0.1:8000/media/videos/julian_06.flv, Я получаю

ValueError в /media/videos/julian_06.flv

элемент последовательности обновления словаря # 0 имеет длину 40;Требуется 2

1 Ответ

1 голос
/ 14 июня 2011

Я бы рекомендовал попробовать следовать документам для статического хостинга в разработке

if settings.DEBUG:
urlpatterns += patterns('django.contrib.staticfiles.views',
    url(r'^media/(?P<path>.*)$', 'serve'),
)

РЕДАКТИРОВАТЬ:

Ваш словарь должен иметь : не , между 'document_root' и settings.MEDIA_ROOT

urlpatterns = patterns('',
url(r'^%s(?P<path>.*)$' % settings.MEDIA_URL[1:], 'django.views.static.serve',
    {'document_root': settings.MEDIA_ROOT}),
)
...