即使所有设置都很好,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也无法加载静态文件的主要内容,如果未能解决你的问题,请参考以下文章
Django设置 DEBUG=False后静态文件无法加载解决