2015-04-24 2 views
0

Я пытаюсь создать кнопку для загрузки файла, который сохраняется как часть модели.Django FileField Поиск сохраненного файла на гиперссылке

код ниже:

Модель

class ResourceFile(models.Model): 
resourceID = models.ForeignKey(Resource) 
fileTitle = models.CharField(max_length=128) 
fileDescription = models.CharField(max_length=256) 
fileObject = models.FileField(upload_to='resourceFile') 
active = models.BooleanField(default=True) 

Шаблон - RFile является экземпляром ResourceFile.

<a id="rfile-{{ rfile.id }}" href="{{ rfile.fileObject.url }}" download><button type="button">{{ rfile }}</button></a> 

Когда кнопка нажата, я получаю исключение «Файл не найден». Любые идеи?

+0

Правильно ли определены «MEDIA_ROOT» и «MEDIA_URL» в ваших настройках? – SaeX

+0

У меня MEDIA_ROOT установлен на 'media'. В моем корне называется папка «media», и это работает при сохранении файла – Malekai

ответ

0

Я добавил это к моему urls.py файл если settings.DEBUG: urlpatterns.append (URL (г '^ медиа/(P *) $?.', «Django.views.static. serve ', {' document_root ': settings.MEDIA_ROOT}))

и он работает. нет необходимости редактировать шаблон. rfile.fileObject.url было достаточно без MEDIA_URL.

0

Попробуйте вот так. Возможно, вам не хватает статического URL-адреса.

{{ STATIC_URL }}{{ rfile.fileObject }} 
+0

. Они не сохраняются в моей папке статических файлов, которые они сохраняются в папке «Медиа» в проекте. – Malekai

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