Отказался отображать iframe или вставлять теги в django 3.0 и chrome - PullRequest
1 голос
/ 16 апреля 2020

У меня было приложение django, которое использовало iframe для отображения PDF-файла, хранящегося на моей локальной машине, что-то вроде этого:

<embed src="path_to_file.pdf" type="application/pdf">

Все работало нормально во всех поддерживаемых браузерах ... До сегодняшнего дня .

Приложение внезапно перестало работать на Chrome, и консоль отображает сообщение Отказался отображать «path_to_file.pdf» во фрейме, потому что для «X-Frame-Options» установлено значение «deny» .

В других браузерах он по-прежнему работает как обычно. Я не знаю, сделал ли Chrome обновление или что изменилось, но оно больше не работает. ¡Любая помощь будет оценена!

1 Ответ

1 голос
/ 16 апреля 2020

Пройдя через много похожих вопросов и попробовав много разных вещей, я наконец-то нашел решение своей проблемы благодаря django документации .

Так как Django 3,0. Значение по умолчанию X_FRAME_OPTIONS было изменено с SAMEORIGIN на DENY .

Так что мне просто нужно было добавить X_FRAME_OPTIONS = 'SAMEORIGIN' в settings.py и проблема исчезла.

Я до сих пор не знаю, что изменилось, из-за чего мой код перестал работать, потому что я уже использовал django 3.0 версию с момента ее выпуска, вероятно, это была Chrome обновление.

...