CSS没有加载错误的MIME类型Django

时间:2016-02-22 15:10:53

标签: css django mime-types

我已经在我的localhost中安装了virtualenv来运行1.8版本的django应用程序,但在运行它时,css和js文件无法加载。

我得到了

Resource interpreted as Stylesheet but transferred with MIME type application/x-css

我尝试了一些选项,但他们也没有解决问题。我在其他PC上运行相同的配置,它可以工作。

我的HTML加载了css:

<link href="/static/css/bootstrap.css" rel="stylesheet" type="text/css">

7 个答案:

答案 0 :(得分:3)

将以下代码段添加到settings.py文件中可能会解决您的问题:

import mimetypes
mimetypes.add_type("text/css", ".css", True)

来源:python built in server not loading css

答案 1 :(得分:2)

我在开发过程中遇到了这个问题(生产使用Nginx并从/ static_cdn文件夹提供服务而没有任何问题。

该解决方案来自Django文档:https://docs.djangoproject.com/en/3.1/howto/static-files/#serving-static-files-during-development

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # ... the rest of your URLconf goes here ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

答案 2 :(得分:2)

此特定行为因开发环境(DEBUG=True)和部署环境(DEBUG=False)而异。

因此,如果您使用 DEBUG=False 进行本地开发,则出现此错误的可能性很高。但是一旦部署在任何服务器上,它就可以正常工作而不会出现任何错误。如果你想在开发过程中避免这个错误设置 DEBUG=True

答案 3 :(得分:0)

如果您使用的是Centos且存在类似的问题(svgs属于我),那么您可能需要安装mailcap软件包(如果不存在)(根据this answer)。

答案 4 :(得分:0)

打开您的Chrome by F12开发人员工具,然后查看您实际收到的内容。就我而言,CSS文件实际上已重定向到另一个页面。因此MIME是text/html而不是text/css

(我的英语不太好。)

答案 5 :(得分:0)

如果碰巧正在使用Django whitenoise plugin,则不使用mimetypes模块,并且需要在settings.py中传入自定义类型的字典:

WHITENOISE_MIMETYPES = {
    '.xsl': 'application/xml'
}

答案 6 :(得分:0)

就我而言,我只加载了

{% load static %}

在 django 中并没有添加

'{%static '<filename>'%}' 

当我添加这个时,错误消失了