首页 > 编程语言 >Python Djang全栈开发中问题记录

Python Djang全栈开发中问题记录

时间:2023-08-17 14:34:27浏览次数:39  
标签:deny http Djang Python Frame 全栈 设置 网页 Options

1、引用bootstrap5现成前端框架时,iframe嵌入访问不了网页,报错failed to load response data: No resource with given identifier found,控制台报错:Refused to display 'http://127.0.0.1:8000/' in a frame because it set 'X-Frame-Options' to 'deny'.,直接访问地址是正常展示的

问题原因:

错误信息"Refused to display 'http://127.0.0.1:8000/' in a frame because it set 'X-Frame-Options' to 'deny'"表示由于设置了'X-Frame-Options'为'deny',所以拒绝在一个框架中显示'http://127.0.0.1:8000/'。

这个错误通常是出于安全考虑而设置的。'X-Frame-Options'是一个HTTP响应头,用来控制网页是否允许被嵌入到iframe(框架)中。当设置为'deny'时,浏览器将拒绝在框架中显示该网页。

要解决这个问题,你可以尝试以下方法:

  1. 检查网页的服务器配置:确保在服务器上正确配置了'X-Frame-Options'头。如果你有权限访问服务器配置,可以将其设置为允许通过修改为'SAMEORIGIN'或'ALLOW-FROM'并指定允许的来源。

  2. 使用其他方式加载内容:如果你无法更改服务器配置,可以考虑使用其他方式加载内容,例如通过AJAX请求获取数据并在页面中展示。

请注意,如果网页的'X-Frame-Options'设置为'deny'是出于安全考虑,那么在没有合法授权的情况下不应该绕过此限制。

 

解决办法:

在Django中,你可以通过修改中间件设置来解决"Refused to display 'http://127.0.0.1:8000/' in a frame because it set 'X-Frame-Options' to 'deny'"的问题。

要修改 'X-Frame-Options' 的值,你可以在 Django 项目的 settings.py 文件中进行设置。以下是两种常见的选项:

  1. 允许所有来源嵌入:

    • 找到 MIDDLEWARE 设置的位置。
    • 在该设置的下方添加以下代码: python复制代码
      X_FRAME_OPTIONS = 'ALLOWALL'
      
  2. 允许指定来源嵌入:

    • 找到 MIDDLEWARE 设置的位置。
    • 在该设置的下方添加以下代码,并替换 'http://example.com' 为允许的来源: python复制代码
      X_FRAME_OPTIONS = 'ALLOW-FROM http://example.com'
      

请注意,在设置中使用 'ALLOWALL''ALLOW-FROM' 都可以改变 'X-Frame-Options' 的值。将其中一个选项与适当的来源配置结合使用,以满足你的需求。

完成后,保存文件并重新启动 Django 开发服务器。这样就修改了 'X-Frame-Options' 值,从而允许嵌入你的网页到其他框架中。

最后,请记住在生产环境中,根据安全需求和评估风险,仔细考虑如何正确设置 'X-Frame-Options' 值。

标签:deny,http,Djang,Python,Frame,全栈,设置,网页,Options
From: https://www.cnblogs.com/dingxiansheng/p/17637477.html

相关文章

  • 某公司笔试题 - 删除字符串中出现次数最少的字符(附python代码)
    #实现删除字符串中出现次数最少的字符,若出现次数最少的字符有多个,则把出现次数最少的字符都删除。输入删除这些单词后的字符串,字符串中其它字符保持原来的顺序。#数据范围:输入的字符串长度满足1<=n<=20,保证输入的字符串中仅出现小写字母str1=input().lower()dic={}if1<......
  • python 初始化类对象时没有执行类的构造法方法
    这个地方错了  修改: ......
  • 深度学习中的python语法笔记总结
    解释torch中的.clamp(min=0)在PyTorch中,torch.clamp将张量中的元素限制在指定的范围内。torch.clamp(min=0)会将张量中的每个元素与0进行比较,并将小于0的元素替换为0。其他大于等于0的元素则保持不变。clamp函数原理defclamp(x,lower,upper):ifx<lower:retu......
  • python rasa聊天机器人教程三:基于WebSocket的简单网页组件配置
    1.准备环境新建一个目录,并且在命令行中进入该目录初始化一个Rasa项目,使用以下命令:rasainit2.修改Rasa的配置在Rasa项目目录中,找到credentials.yml文件,添加以下内容:socketio:user_message_evt:user_utteredbot_message_evt:bot_utteredsession_persistenc......
  • Django ORM模型一对一、一对多、多对多操作
    创建模型fromdjango.dbimportmodels#学生类classStudent(models.Model):id=models.AutoField(primary_key=True)sname=models.CharField(max_length=20)#一对多外键设置,'多'的模型类设置外键,注意需要带参数on_deletecid=models.ForeignKe......
  • Python的标准数据类型
    在内存中存储的数据可以有多种类型。例如,一个人的年龄可以用数字来存储,他的名字可以用字符来存储。Python定义了一些标准类型,用于存储各种类型的数据。Python有五个标准的数据类型:Numbers(数字)String(字符串)List(列表)Tuple(元组)Dictionary(字典)......
  • python中for - else中的else存在的必要性
    foriinrange(3):ifi==1:breakprint(i)else:print("else")foriinrange(3):ifi>0:continueprint(i)else:print("else") 首先请参见上一份代码,先猜猜结果是啥,如果认为一样的,说明这篇博客还是有写的必要的,如果认为不一样......
  • 高效的HTTP代理,python如何助力
    在使用Python编写高效的HTTP代理时,可以采用以下一些小技巧来提升性能和效率:1、使用异步请求库:使用异步的HTTP请求库,如aiohttp或httpx,可以实现并发处理多个请求,提高代理的吞吐量和响应速度。2、复用连接:在处理多个请求时,尽量复用已建立的连接,而不是每次请求都创建新的连接。这可以通......
  • python3流程控制
    Python3条件控制if–elif–elsePython中用 elif 代替了 elseif,所以if语句的关键字为:if–elif–else。示例:Python中if语句的一般形式如下所示:ifcondition_1:statement_block_1elifcondition_2:statement_block_2else:statement_block_3  ......
  • python 由m列元组组成的列表 生成表格 不想形成m行, 只想形成1行
    python由m列元组组成的列表生成表格不想形成m行,只想形成1行list_1=list(range(3))list_2=['col'+str(i)foriinlist_1]dict_1={key:str(value)forkey,valueinzip(list_2,[list_1]*3)}#pd.DataFrame(dict_1)#ValueError:Ifusingallscalarva......