解决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下!

<link rel="stylesheet" type="text/css" href="{% static 'css/reset.css' %}">

如图所示:

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

然后就解决了

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值