静态CSS和图像未在Django中加载

时间:2019-06-21 12:20:29

标签: django nginx

我是Django的新手。当时,我在Debug = True中运行了该项目,所有CSS和图像均已正确加载。我尝试更改Debug = False。现在我遇到了问题。有时CSS没有加载。有时图像无法加载。我的文件夹中有两个图像。一个正在加载,而另一个不在加载。当时处于开发模式Debug = True正常。

我尝试重新启动python3 manage.py runserver,更改STATIC_URL = "../../static/"时不走运。有些图像已加载,有些未加载。

settings.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启动项目

1 个答案:

答案 0 :(得分:2)

查看朋友发布的链接,查看django documentation

我将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 /static/中的静态文件和URL /media/中的MEDIA文件,因此必须将NGINX配置为搜索这些文件:

location /static/ {
        alias   /your-project-folder/static/;
}

location /media/ {
        alias   /your-project-folder/media/;
}