时隔多年,又开始拿起Django项目去开发一个小网站,遇到iframe嵌套网页访问被拒绝访问请求的问题,查阅资料这个问题是可以解决的。
第一步:settings.py文件添加代码:X_FRAME_OPTIONS = 'SAMEORIGIN'
X_FRAME_OPTIONS = 'SAMEORIGIN'
第二步在views.py文件函数加装饰器,导入:from django.views.decorators.clickjacking import xframe_options_exempt
@xframe_options_exempt
def login(request):
name = 'login'
return render(request, 'static/login.html')
第三步在templates下的iframe 填写地址{%url ‘你定义路径’ %}
<iframe src="{% url '定义路径' %}" width="100%" height="100%" style="z-index: -1; position: fixed;" ></iframe>
因为在django中无法识别我们普通的url格式,比如使用<iframe src="2.html"></iframe>,这种格式django无法识别的,所以运行时就会出现异常
注意一点,iframe嵌套页面需要重新再views.py中定义函数,当然你可以多尝试。
@xframe_options_exempt
def logo(request):
name = 'logo'
return render(request, 'static/2.html')