前言

Django针对的是Web服务,它的CSSJS静态文件都是通过href返回给客户端的,所以用传统的文件相对路径是没有办法在Web服务中返回静态文件的,本文和之前讲过的一片配置Djangostaticmedia有相同之处。

配置路径

Setting配置文件

配置static根目录,就是static下面的文件夹名。
注意要导入os包。

# 静态文件css,js
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

STATICFILES_DIRS = [
    ("css", os.path.join(STATIC_ROOT, 'css')),
    ("fa", os.path.join(STATIC_ROOT, 'fa')),
    ("images", os.path.join(STATIC_ROOT, 'images')),
]

图示

这是我的项目结构。

urls添加路由

注意导包

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

添加路由static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

urlpatterns = [
    path('checkit', views.checkit, name='checkit'),
]+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)   # 这个非常影响地址访问

图例

没加路由的报错图示,这里可以看出它的静态文件地址确实是对的,但是没有配置路由还是白搭,不知道是拦截了还是没有指定。这里的路由有点像防火墙的端口,不开放端口,程序就无法出去被别人访问。

添加路由后的图示。

html导包语法

加载static根路径,这里注意,老版本是{% load staticfiles %}

{% load static %}

引入CSS文件语法,href="{% static 'css\style.css' %}"

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

图例

  • wechat_img
03,双鱼,爱学习。
最后更新于 2023-01-04