Как отобразить PDF файлы на одной html странице в истории файлов в Django?

У меня есть веб-приложение, созданное на Django, в котором пользователь может загрузить файл pdf. Есть представление под названием 'file history', которое отображает 'ID', 'Docfile', 'Source', 'Date'. И когда пользователь нажимает на имя файла, я хотел бы отобразить его на той же html странице.

Я прочитал много подобных вопросов на stackoverlflow и других сайтах в интернете, но я не нашел полезного руководства, кроме того, которое приведено ниже:

Подобное решение можно найти здесь: Ответ ЧилларАнанда

html-страница выглядит следующим образом:

file history

Код, который производит это, следующий:

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
Вернуться на верх