Как настроить параметры X-Frame в Django, чтобы разрешить встраивание iframe одного представления?
Я пытаюсь включить Джанго, чтобы один конкретный вид должен быть внедрен на внешние сайты, preferabilly без ограничения.
в моем views.py файл, я добавил следующий код, где вид futurebig Я хочу, чтобы быть врезанным:
from django.views.decorators.clickjacking import xframe_options_sameorigin
...
@xframe_options_sameorigin
def futurebig(request):
...
return render_to_response('templates/iframe/future_clock_big.html', context_dict, context)
который не помогает, как я понимаю, потому что он позволяет только встраивать в тот же сервер.
Как я могу установить заголовки для этой конкретной целью включить его для встраивания в любой веб-сайт?
для записи, я просто разработчик frontend, бэкэнд-разработчик, который разработал сайт, больше не работает со мной и отказался документировать свой код, поэтому, если кто-нибудь может мне помочь и объяснить, где и какие изменения я должен сделать, я буду очень благодарен.
спасибо.
насколько я знаю, версия Django-1.6
2 ответов
вы идете в правильном направлении, но точный декоратор, который вам нужно будет достичь, это "xframe_options_exempt".
from django.http import HttpResponse
from django.views.decorators.clickjacking import xframe_options_exempt
@xframe_options_exempt
def ok_to_load_in_a_frame(request):
return HttpResponse("This page is safe to load in a frame on any site.")
PS: DJango 1.6 больше не поддерживается. Это хорошее время, чтобы получить обновление.
по-видимому, вы можете установить правило в своих настройках, говоря следующее:
X_FRAME_OPTIONS = 'ALLOW-FROM https://example.com/'
и сейчас ты должен подумать о переезде в СКП
Content-Security-Policy: frame-ancestors 'self' example.com *.example.net ;