2012-06-04 2 views
0

У меня есть что-то очень странное. Я на win7 Django 1.4. У меня есть следующие параметры media_root/URL:upload через admin используя FileField в django

MEDIA_ROOT = 'c:\project\uploads' 
MEDIA_URL = '/media/' 

Мой url.py включает в себя:

urlpatterns += patterns('', 
    (r'^media/(?P<path>.*)$', 'django.views.static.serve', { 
    'document_root': settings.MEDIA_ROOT})) 

У меня есть модель с поля:

file = models.FileField(upload_to=MEDIA_ROOT, blank = True) 

Теперь я загружая файл через сайт администратора, файл загружается успешно. Однако, при обращении к файлу с помощью администратора я вижу ссылку к файлу:

http://127.0.0.1:8000/media/c:\project\uploads\[filename] 

Я понятия не имею, что я делаю неправильно.

ответ

2

Я думаю, ваша модель не так:

file = models.FileField(upload_to=MEDIA_ROOT, blank = True) 

upload_to ожидает относительный путь, который добавляется к MEDIA_ROOT, так что теперь он ожидает, что файл будет в MEDIA_ROOT/MEDIA_ROOT, который не имеет никакого смысла.

Попробуйте что-то вроде:

файла = models.FileField (upload_to 'файлов' =, пустой = True)

документов:

FileField.upload_to Пути локальной файловой системы, которая будет добавлено к вашей настройке MEDIA_ROOT, чтобы определить значение атрибута url.

Смежные вопросы