即使所有设置都很好,Django也无法加载静态文件

Posted

技术标签:

【中文标题】即使所有设置都很好,Django也无法加载静态文件【英文标题】:Django can't load static files even though all settings are fine 【发布时间】:2021-05-22 04:31:26 【问题描述】:

我不知道为什么 django 不能加载静态文件,即使我已经定义了 static_url、static_root、staticfiles_dirs 和 urlpatterns 包括 static_root。我把静态文件放在 root_dir/static/ 目录下。

我的模板也有正确的语法 % load static% 和 % static '...'%

请给我一些建议。

非常感谢

这是我的主要网址文件

from django.contrib import admin
from django.urls import path
from home import views as HomeViews
from django.conf import settings 
from django.conf.urls.static import static
urlpatterns = [
    path('admin/', admin.site.urls),
    path('',HomeViews.index,name='index')
]

if settings.DEBUG:
    urlpatterns = urlpatterns + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    urlpatterns = urlpatterns + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

【问题讨论】:

请分享主要网址代码 嘿@KennethGithambo,我已经添加了url,py文件,请看一下 【参考方案1】:

检查你的程序是否有以下内容:

settings.py:

from pathlib import Path
import os

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
STATIC_DIR = os.path.join(BASE_DIR,"static")


 STATIC_URL = '/static/'
STATICFILES_DIRS = [
    STATIC_DIR,
]

别忘了在你的模板文件中加载这个标签

% load static %

检查调用语法

<link rel="stylesheet" href="% static 'base.css' %">

检查您是否在基目录(您的 manage.py 文件所在的位置)中创建了静态文件夹

检查静态文件和调用中的内容是否相互对应(检查拼写)

一旦尝试进行迁移并迁移

如果不工作仍然...尝试刷新 (ctrl + F5)

【讨论】:

我认为它对 STATIC_DIR 有帮助,因为它无法加载任何静态文件,所以有意义

以上是关于即使所有设置都很好,Django也无法加载静态文件的主要内容,如果未能解决你的问题,请参考以下文章

css 未在 django 生产中加载

Django设置 DEBUG=False后静态文件无法加载解决

为啥 DEBUG=False 设置使我的 django 静态文件访问失败?

Django静态图像文件无法加载资源

即使在配置后也无法登录到 phpMyAdmin

django开发环境setting.py里面设置debug=false时却成功加载静态文件?