首页 > 解决方案 > 静态 css 和图像未在 django 中加载

问题描述

我是 Django 的新手。当时我运行了该项目,Debug = True所有 CSS 和图像都正确加载。我尝试改变Debug = False。现在我面临问题。有时 CSS 没有加载。有时图像没有加载。我在文件夹中有两张图片。一个正在加载,另一个没有加载。Debug = True当时在开发模式下工作正常。

我尝试重新启动python3 manage.py runserverSTATIC_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用来启动项目

标签: djangonginx

解决方案


查看朋友发布的链接,查看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/;
}

推荐阅读