python - Django HTML 模板无法加载 CSS 文件
问题描述
在我的 Django 项目中,我添加了一个新的 404 页面,当我输入无效的 url 时会调用该页面。但是,CSS 文件没有与页面一起加载,因此它看起来格式错误。
浏览器给了我这个错误:“拒绝应用样式,因为它的 MIME 类型('text/html')不是受支持的样式表 MIME 类型,并且启用了严格的 MIME 检查。”
关键是,“静态”文件夹中的其他 CSS 文件已正确加载而不会出现此错误,例如 bootstrap.css 文件...
我的设置.py
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False
ALLOWED_HOSTS = ['localhost', '127.0.0.1']
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.0/howto/static-files/
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'collected_static')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'static/media')
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
我的网址.py
urlpatterns = [
...
]
handler400 = 'utils.views.error_400'
handler403 = 'utils.views.error_403'
handler404 = 'utils.views.error_404'
handler500 = 'utils.views.error_500'
我的 utils.views.py
def error_400(request, exception):
data = {}
return render(request, 'utils/mv_admin_400.html', data)
def error_403(request, exception):
data = {}
return render(request, 'utils/mv_admin_403.html', data)
def error_404(request, exception):
data = {}
return render(request, 'utils/mv_admin_404.html', data)
def error_500(request):
data = {}
return render(request, 'utils/mv_admin_500.html', data)
我的 404.html
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="{% static 'css/handlers/error-nf.css' %}" rel="stylesheet" type="text/css" />
</head>
我的文件夹结构
src
- mysite
- static
-- css
--- bootstrap.css
--- handlers
---- error-nf.css
我还尝试将 css 文件从“handlers”文件夹移到父“css”文件夹,但仍然出现错误。
解决方案
推荐阅读
- html - 如何将 .env 文件中的变量导入 index.html html 页面
- r - R-base 无法升级到 4.0:显示“r-base 已经是最新版本 (3.4.4-1xenial0)”
- macos - 使用 Applescript 将下载内容复制到新创建的文件夹
- oracle - 需要 PIVOT 帮助
- python - 转发过程中的“RuntimeError:预期的标量类型 Long 但发现 Float”
- javascript - 发送的 axios post api 数据在服务器端的 console.log(req.body) 上给出了空对象
- python - 在 Python 中调用函数(不显示图表)
- angular - 如何在 Angular 中创建基本单元测试
- javascript - 使用功能组件从父级清除 React 子级输入值
- javascript - json对象上的多属性检查三元运算符在nodejs中不起作用,而它在google chrome控制台中工作