前言
Django针对的是Web服务,它的CSS、JS静态文件都是通过href返回给客户端的,所以用传统的文件相对路径是没有办法在Web服务中返回静态文件的,本文和之前讲过的一片配置Django的static和media有相同之处。
配置路径
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' %}">
图例

Comments NOTHING