问题分析

这是浏览器正常的请求类型分析:互联网上的资源有各种类型,通常浏览器会根据响应头的Content-Type字段来分辨它们的类型。例如:”text/html”代表html文档,”image/png”是PNG图片,”text/css”是CSS样式文档。然而,有些资源的Content-Type是错的或者未定义。这时,某些浏览器会启用MIME-sniffing来猜测该资源的类型,解析内容并执行。

所以解决方法中不能通过屏蔽猜测来解决,排除在配置文件中手动屏蔽的方法:SECURE_CONTENT_TYPE_NOSNIFF = False(此解决方法对我也无效);在配置文件末尾手动声明资源类型又破坏了规范的完整性:
import mimetypes mimetypes.add_type('text/css', '.css') mimetypes.add_type('application/javascript', '.js')

注:以上两种解决方法均来自参考二

解决方法

开发环境

在主urls.py中添加路由定位到static文件夹。
From:EvalAI源码

# evalai/urls.py 主路由
# DJANGO-SPAGHETTI-AND-MEATBALLS URLs available during development only.
from django.conf.urls.static import staticif settings.DEBUG:urlpatterns += ([... ]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT))

EvalAI是一个AI竞赛平台。

生产环境

添加nginx服务器与uwsgi的socket对接即可。
uWsgi对于mime-types的校验文件位于/etc/mime.types
文档地址:https://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/StaticFiles.html#mime
uWsgi配置如下,其中主要配置为声明socket端口而不是http服务。

# web为地址
[uwsgi]
chdir = /code
module = web.wsgi:application
master = true
processes = 4
socket = :8001
vaccum = true
python-autoreload = 1
buffer-size=32768
chmod-socket = 777

因为我所使用的为docker-compose部署,nginx和django属于同一网关下,所以在upstream轮询规则中定义django即可,其中监听80端口,对于/的访问定义uwsgi_pass指向django这一轮询规则,对于static则指明django的静态文件目录,code/uwsgi_params来源于https://github.com/nginx/nginx/blob/master/conf/uwsgi_params,放置到你所指定目录即可,里面是请求头部规则声明。
Nginx配置如下:

upstream django {server django:8001;  # 和ini文件中的socket端口保持一致
}server {listen       80;server_name  localhost;#charset koi8-r;access_log  /var/log/nginx/host.access.log  main;error_log  /var/log/nginx/error.log  error;location / {uwsgi_pass  django;include /code/uwsgi_params;}location /static {alias /code/static; # 静态资源路径}location /media {alias /code/media; # 你项目中静态文件的存放路径}
}

参考

  • 生产环境浏览器Strict MIME TYPE Checking问题解决
  • Django项目中碰到because its MIME type (‘text/plain‘) is not executable,and strict MIME type该怎么解决?
  • 使用nginx + uwsgi socket的方式来部署Django项目

【Django】MIME type (‘text/html‘) is not a supported stylesheet MIME type | uWsgi | Nginx相关推荐

  1. MIME type (‘text/html‘) is not a supported stylesheet MIME type, and strict MIME checking is enabled

    项目场景: 在index.html中引入一个css文件 问题描述 在index.html中引入一个css文件,报如下错误: Refused to apply style from 'http://lo ...

  2. 【Django】模板

    本文为 Django 学习笔记,讲解模板的使用. 运行环境 Windows 10 Pycharm Community Edition 2020.1.3 Django 3.0.8 所有的代码见[Djan ...

  3. 【Django】图书管理

    一.实现步骤 (一)创建Django项目 - books 创建Django项目,设置项目位置与项目名 (二)创建并注册应用 - index 1.创建index应用 在项目配置文件里,导入os模块 在控 ...

  4. 【Django】开发日报_3_Day:员工管理系统-创建项目

    目录 0.创建新的Django项目 1.创建app 2.注册app 3.设计表结构 4.在MySQL中生成表 5.静态文件管理 6.部门管理 6.1 部门列表 0.创建新的Django项目 step1 ...

  5. linux 进程间通信 dbus-glib【实例】详解三 数据类型和dteeth(类型签名type域)(层级结构:服务Service --> Node(对象、object) 等 )(附代码)

    linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...

  6. 【Django】ORM操作#2

    目录 必知必会的13条查询方法 单表查询之神奇的双下划线 一对多 ForeignKey 多对多 ManyToManyField 在Python脚本中调用Django环境 Django终端打印SQL语句 ...

  7. 论文阅读(XiangBai——【CVPR2017】Detecting Oriented Text in Natural Images by Linking Segments)...

    XiangBai--[CVPR2017]Detecting Oriented Text in Natural Images by link Segments 目录 作者和相关链接 方法概括 方法细节 ...

  8. 【Django】开发日报_11_Day:手机号码管理系统-Ajax请求完善

    目录 0.Django开发回顾 如果使用sqlite3(文件数据库)可以省略很多前面的数据库配置操作 1.Ajax请求页面完善 0.Django开发回顾 如果使用sqlite3(文件数据库)可以省略很 ...

  9. 【Django】开发日报_4_Day:手机号码管理系统-创建项目并实现基本功能

    目录 0.新建Django项目 (1)修改setting.py (2)删除根目录下的templates (3)创建App (4)注册App (5)创建App->templates (6)引入st ...

最新文章

  1. ajax对象状态0,ajax返回readyState为0?
  2. python中sorted函数逆序_Python中sorted函数的用法(转)
  3. Jenkins中连接Git仓库时提示:error: The requested URL returned error: 401 Unauthorized while accessing
  4. 牛客小白月赛2 D 虚虚实实 【欧拉图】【连通图】
  5. 浅析 EF Core 5 中的 DbContextFactory
  6. linux本地mysql与服务器同步数据_linux下指定mysql数据库服务器主从同步的配置实例...
  7. python基础知识500题_Python基础语法习题参考(0-9关)
  8. spring 集成 spring cloud config 的相关知识
  9. 好好学习 天天编程—C语言之环境搭建(一)
  10. jquery-easyui中表格的行编辑功能
  11. java map 教程_Map和Set
  12. 编译自己功能定制的Fedora7内核
  13. matlab如何修改图例的颜色,在MATLAB图例中设置线条颜色?
  14. 全国大学生数学竞赛(非数学专业)习题精讲等相关资源
  15. h5页面 请在微信客户端打开链接_使用Fiddler抓包解决“请在微信客户端打开链接”的问题...
  16. 留学生Research Proposal 怎么写?
  17. On the eighth day
  18. 算法设计与分析第五章习题解答与学习指导(第2版)屈婉婷 刘田 张立昂 王捍贫编著 清华大学出版社
  19. 微信外卖小程序 怎么计算与客户的距离_3分钟搞定微信小程序类美团用户商家距离计算...
  20. Vscode Remote SSH 远程连接失败过程报错:试图写入的管道不存在

热门文章

  1. 机电一体化技术_Electromechanical Integration
  2. Android 融云IM集成以及使用详解(二)
  3. Pycharm连接远程服务器并编写、运行python代码
  4. 汉文SEO大神:教你使用nofollow并分析百度nofollow的作用
  5. 2020 ICASSP之人脸识别:Facial Feature Embedded CycleGAN for VIS-NIR Translation
  6. 左程云——归并排序和快速排序
  7. 西南电力设计院之项目文档管理
  8. 《Natural Language Processing with Python》读书笔记 003期
  9. BUG:Win由于找不到iutils.dIl 无法继续执行代码……
  10. oracle ebs版本查看,怎么查看oracle ebs的系统版本号以及各模块的版本号 | 码农网...