栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

解决django3.2+python3.8+xadmin2版本中静态文件(css,js,images等)无法加载的问题

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

解决django3.2+python3.8+xadmin2版本中静态文件(css,js,images等)无法加载的问题

首先,再这个django3.2.x版本版本中静态文件的加载无法自动解析,所以需要我们手动配置

主要,我配置的前提是 static 和templates是在同一级,然后我的开发工具是IDEA

在查阅一些资料以后,最终解决了问题

在主文件的settings.py下加入以下代码

STATIC_ROOT = os.path.join(base_DIR, 'static')

STATICFILES_DIRS = [
    ('css', os.path.join(STATIC_ROOT, 'css').replace('\', '/')),
    ('js', os.path.join(STATIC_ROOT, 'js').replace('\', '/')),
    ('images', os.path.join(STATIC_ROOT, 'images').replace('\', '/')),
    ('img', os.path.join(STATIC_ROOT, 'img').replace('\', '/')),
]

这里注意原来的STATIC_URL里面下的 static,要写成这个样子

STATIC_URL = '/static/static/'

再加入 STATIC_ROOT,代码如下:

STATIC_ROOT = os.path.join(base_DIR, 'static')

然后再加入下面这个。(下面的css,js等static文件下的如图)

STATICFILES_DIRS = [
    ('css', os.path.join(STATIC_ROOT, 'css').replace('\', '/')),
    ('js', os.path.join(STATIC_ROOT, 'js').replace('\', '/')),
    ('images', os.path.join(STATIC_ROOT, 'images').replace('\', '/')),
    ('img', os.path.join(STATIC_ROOT, 'img').replace('\', '/')),
]

整体如图

 

 

然后在主程序的urls.py下加入下面代码

from django.conf import settings
from django.conf.urls.static import static

然后再在urlpatterns的末尾加入下面

  +static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
如图所示

 

 然后注意在你的templates下的HTML文件中的上头加入

{% load static %}

然后引入css和js等写法如下,我随便举个例子

注意:我所有的css,js等文件都放在static下!

如图所示:

 注意这个地方,好像是因为版本的问题,只能写{% load static %},不能写{% load staticfiles %}

然后就解决了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/348082.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号