我已经在我的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">
答案 0 :(得分:3)
将以下代码段添加到settings.py
文件中可能会解决您的问题:
import mimetypes
mimetypes.add_type("text/css", ".css", True)
答案 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>'%}'
当我添加这个时,错误消失了