Как отобразить PDF файлы на одной html странице в истории файлов в Django?
У меня есть веб-приложение, созданное на Django, в котором пользователь может загрузить файл pdf. Есть представление под названием 'file history', которое отображает 'ID', 'Docfile', 'Source', 'Date'. И когда пользователь нажимает на имя файла, я хотел бы отобразить его на той же html странице.
Я прочитал много подобных вопросов на stackoverlflow и других сайтах в интернете, но я не нашел полезного руководства, кроме того, которое приведено ниже:
Подобное решение можно найти здесь: Ответ ЧилларАнанда
html-страница выглядит следующим образом:
Код, который производит это, следующий:
class Version(models.Model):
docfile = models.FileField(upload_to = history_directory_path, db_column = 'docfile',max_length=500)
source = models.CharField(max_length=50,default='')
date = models.DateTimeField(auto_now_add=True, db_column='date')
def doc_url(self):
if self.docfile and hasattr(self.docfile, 'url'):
return self.docfile.url
Как я могу использовать этот фрагмент кода в моей модели?
def embed_pdf(self, obj):
# check for valid URL and return if no valid URL
url = obj.pdf_file.url
html = '<embed src="{url}" type="application/pdf">'
formatted_html = format_html(html.format(url=obj.cover.url))
return formatted_html