我正在尝试使用DEBUG=False
下面是我的设置文件配置
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static/")]
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles/')
运行python manage.py collectstatic之后,应用路径中的所有静态文件都将复制到staticfiles目录(在STATIC_ROOT
路径中提到)。
加载网页时,静态文件加载失败。
错误消息:
获取 / static /dist/bootstrap-4.0.0-dist/js/bootstrap.min.14d449eb8876.js HTTP / 1.1“ 404 77
GET / 静态 /dist/bootstrap-select/js/bootstrap-select.min.31f649694651.js HTTP / 1.1“ 404 77
GET / 静态 /js/base.1332bbb46ac5.js HTTP / 1.1“ 404 77
GET / 静态 /crsummary/dist/amcharts4/core.ea1ec0eb6727.js HTTP / 1.1“ 404 77
查看错误消息,应用尝试从路径bootstrap.min.14d449eb8876.js
加载/static/\*/\*
,但实际文件位置为staticfiles/\*/\*
我不确定在这里错过了哪些配置。
答案 0 :(得分:0)
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href=" {%static 'app1/css/freelancer.css' %}" />
像这样加载静态文件。
{% load static %}
<img class="img-fluid" src="{% static 'app1/img/portfolio/ai.png' %}" alt="">
像这样加载图像。
在此之前,需要指定基本目录和静态目录
STATIC_DIR=os.path.join(BASE_DIR,"static")
STATIC_URL = '/static/'
STATICFILES_DIRS=[STATIC_DIR,]
基本目录
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
像这样在项目内部构建路径:os.path.join(BASE_DIR,...)
答案 1 :(得分:0)
Django不允许在生产代码时加载静态文件,而不是使用AWS或任何其他在线内容交付网络
如果您真的不想从codes目录中加载静态文件,则需要安装whitenoise,并在您的中间件,staticfiles和installed_apps中对其进行定义
有关更多信息,您可以搜索Django中的使用和设置白噪声