Показ PDF документа на сайте Django
Всем привет! Работаю сейчас над одним проектом, и в нём есть функция просмотра документов, без их загрузки, я попробовал много разных html-тэгов, но мне всегда выдаётся одна и таже ошибка: Сайт 127.0.0.1 не позволяет установить соединение.
models.py
import os
from django.db import models
class Document(models.Model):
STATUS_CHOICES = [
('In_progress', 'На согласовании'),
('Accepted', 'Одобрен'),
('Not_accepted', 'Отклонен'),
]
title = models.CharField(max_length=255)
category = models.ForeignKey(DocumentCategory, on_delete=models.CASCADE)
file = models.FileField(upload_to='docs/')
author = models.ForeignKey('user.CrmUser', on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
status = models.CharField(max_length=20, choices=STATUS_CHOICES, null=True, blank=True, default='In_progress')
description = models.TextField(null=True, blank=True)
def filename(self):
return os.path.basename(self.file.name)
def __str__(self):
return self.title
class Meta:
ordering = ['-created_at']
views.py
from documents.models import Document
from django.shortcuts import render
def docs_preview(request, doc_id):
doc = Document.objects.get(id=doc_id)
return render(request, 'documents/docs_preview.html', {'doc': doc})
urls.py
from django.conf import settings
from django.urls import path
from django.conf.urls.static import static
from documents.views import model_form_upload, docs_list, docs_view, docs_preview
app_name = 'documents'
urlpatterns = [
path('upload/', model_form_upload, name='upload-doc'),
path('', docs_list, name='docs-list'),
path('<int:doc_id>/', docs_view, name='docs-view'),
path('preview/<int:doc_id>/', docs_preview, name='docs-preview'),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
docs_preview.html
{% extends 'base.html' %}
{% block content %}
<iframe class="pdf"
src="{{ doc.file.url }}"
type="application/pdf"
width="800"
height="500">
</iframe>
{% endblock %}