2015-05-03 2 views
1

Я пытаюсь получить доступ к файлам, которые были загружены пользователями.django, используя URL MEDIA в шаблоне

я имею следующие настройки:

MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'project/media/') 

MEDIA_URL = '/project/media/' 

и файл являются:

path = models.FileField(upload_to="myApp") 
image = models.ImageField(upload_to="myApp/logos", null=True, blank=True) 

в шаблоне я пытаюсь Acces его следующим образом:

{{MEDIA_URL}}{{file.path}} 

но он не работает.

Что я делаю неправильно?

ответ

2

file.path возвращает объект, представляющий файл, то, что вы хотите, является file.path.url, который позаботится о добавлении MEDIA_URL.

+0

Я изменяю его на {{file.path.url}}, и он дает мне правильный путь к файлу (относительно каталога проекта), но я до сих пор не могу загрузить/просмотреть файлы. – brad

+0

, когда i напишите файл.url, он загружает html текущей страницы. – brad

+0

@brad вам нужно обслуживать «MEDIA_ROOT» с помощью HTTP-сервера, см. [this] (https://docs.djangoproject.com/en/1.8/howto/static-files/# serve-files-uploaded by-a-user-in-development), чтобы узнать, как это сделать в процессе разработки. – aumo