django - 静态 css 和图像未在 django 中加载
问题描述
我是 Django 的新手。当时我运行了该项目,Debug = True
所有 CSS 和图像都正确加载。我尝试改变Debug = False
。现在我面临问题。有时 CSS 没有加载。有时图像没有加载。我在文件夹中有两张图片。一个正在加载,另一个没有加载。Debug = True
当时在开发模式下工作正常。
我尝试重新启动python3 manage.py runserver
,STATIC_URL = "../../static/"
但没有运气。有些图像已加载,有些则没有。
设置.py
STATIC_URL = "/static/"
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static')
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
mysite/static/images/icon/1.png //come
mysite/static/images/icon/2.png //not come
1.png 和 2.png 都在文件夹中。有时 CSS 正在加载,有时没有。
我python3 manage.py runserver 0.0.0.0:5000
用来启动项目
解决方案
查看朋友发布的链接,查看django 文档。
我将 Django 与 NGINX 一起使用,配置如下:
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
Django 将获取 URL 中的静态文件和 URL/static/
中的 MEDIA 文件/media/
,因此您的 NGINX 必须配置为搜索这些文件:
location /static/ {
alias /your-project-folder/static/;
}
location /media/ {
alias /your-project-folder/media/;
}
推荐阅读
- python - AttributeError:“ChessBoard”对象没有属性“网格”
- r - 以有效的方式处理数据(库存数据)
- ios - SwiftUI - Google AdMob 插页式广告未显示在 onAppear 中
- sass - Less 中是否有 Sass 风格的映射键功能?
- python - 如何使用 sqlalchemy 计算平均数?
- yaml - CloudFormation YAML 状态机:无法识别令牌的 INVALID_JSON_DESCRIPTION
- python - 如何从数组中正确提取 PNG 格式的标记掩码?
- c# - 如果我之前禁用了一个脚本,如果我稍后调用该事件,是否可以调用该对象的订阅不同类的事件的方法?
- javascript - React.js 中未显示下拉值
- python - 无法将 python flask api 输入与 mysql 查询值匹配