Медиафайлы dajango pdf не отображаются на моей веб-странице

Я искал в интернете по всему миру об этом и кажется, что все в порядке, также медиа изображения очень хорошо отображаются

settings.py

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.0/howto/static-files/

STATIC_URL = 'static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static')

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,'media')

# Default primary key field type
# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field

DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'


X_FRAME_OPTIONS = 'SAMEORIGIN'

show_pdf.html

<iframe
        src="{{pdf.url}}"
    frameBorder="0"
    scrolling="auto"
    height="1200px"
    width="1200px"
></iframe>

models.py

class File_pdf(models.Model):
    title = models.CharField(max_length=50)
    pdf = models.FileField(upload_to='portfolio/pdfs')
    main_resume = models.BooleanField(default=False,help_text="set only one pdf as the main pdf for the main page")

    def __str__(self):
        return self.title

urls.py

urlpatterns = [
        path('admin/', admin.site.urls),
        path('',include('portfolio.urls')),
        path('blog/',include('blog.urls'))
]

urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

views.py

def pdf_view(request,pdf_id,resume):
    dic = {}
    if resume == "yes":
        pdf_files = File_pdf.objects.filter(main_resume=True)
        pdf_file = pdf_files[0]
        dic['pdf'] = pdf_file.pdf
        dic['title'] = pdf_file.title
    else:
        pdf_files = get_object_or_404(File_pdf,pk=pdf_id)
        pdf_file = pdf_files[0]
        dic['pdf'] = pdf_file.pdf
        dic['title'] = pdf_file.title

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

enter image description here

это действительно правильная ссылка

В ваш settings.py добавьте следующий код:

X_FRAME_OPTIONS = 'ALLOW-FROM <your localhost URL>'

например

X_FRAME_OPTIONS = 'ALLOW-FROM http://127.0.0.1:8000/'

оказалось, что все было правильно, но кэш brave каким-то образом конфликтовал с обновлением X_FRAME_OPTIONS. поэтому после удаления кэша brave этого оказалось достаточно :)

Вернуться на верх