Django项目中碰到because its MIME type (‘text/plain‘) is not executable,and strict MIME type该怎么解决?

首先这是因为浏览器设置的原因导致的
一共可能出现两种错误
第一种错误是:

Refused to display ‘http://localhost:8000/cdny/student_manage/in a frame because it setX-Frame-Options’ to ‘deny’.

解决方法:
在settings.py中加一条配置:

X_FRAME_OPTIONS = 'SAMEORIGIN'  
# DENY :表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许  
# SAMEORIGIN :表示该页面可以在相同域名页面的 frame 中展示  
# ALLOW-FROM uri :表示该页面可以在指定来源的 frame 中展示  

第二种错误是:

Refused to execute script from ‘http://127.0.0.1:8000/static/layui/layui.js’ because its MIME type (‘text/plain’) is not executable, and strict MIME type checking is enabled.

解决方法:
在settings.py中加一条配置:

SECURE_CONTENT_TYPE_NOSNIFF = False

这个X-Content-Type-Options是nosniff,错误解释:当你请求一个文件从raw.githubusercontent.com,gist.githubusercontent.com,bitbucket.org或者gitlab.com,他们通常提供(在JavaScript,HTML,CSS,以及一些其他文件类型的情况下)用Content-Type的text/plain。结果,大多数现代浏览器实际上不会将其解释为JavaScript,HTML或CSS。

还有一种情况可能是Windows系统上不知道什么时候破坏了注册表,把扩展名为js的文件类型注册为 ‘text/plain’, 应该为’application/javascript’。

要解决这个问题,请在 Django项目 setting.py 中 末尾添加如下代码,强制Django使用’application/javascript’ 作为 js文件类型
第三种解决方法:

#在settings.py末尾加入
import mimetypes
mimetypes.add_type('text/css', '.css')
mimetypes.add_type('application/javascript', '.js')


评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值