You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django项目中添加模板、CSS、JS及Bootstrap?已执行部分配置

嘿,我来一步步帮你搞定在Django项目里配置模板、静态资源和Bootstrap的事儿,你已经完成了基础准备,接下来咱们把剩下的环节补全:

一、完善静态资源(Static Files)的配置

你已经设置了STATIC_URL,但还需要补充两个关键配置来让Django准确找到你的静态文件:
在settings.py里添加以下代码:

STATIC_URL = '/static/'

# 告诉Django去哪里找项目根目录下的static文件夹(非app内的静态文件)
STATICFILES_DIRS = [
    BASE_DIR / "static",
]

# 生产环境专属:收集所有静态文件到这个目录(部署时用,开发阶段可暂时忽略)
STATIC_ROOT = BASE_DIR / "staticfiles"

另外,建议把static文件夹做分类整理,比如:

static/
├── bootstrap/       # 解压后的Bootstrap文件(包含css、js子文件夹)
├── css/             # 你的自定义CSS
├── js/              # 你的自定义JS
└── images/          # 图片资源

这样后续引入资源时路径更清晰。

二、配置模板(Templates)目录

首先要让Django知道你的模板文件存在哪里:
在settings.py的TEMPLATES配置块中,确保DIRS指向项目根目录下的templates文件夹:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates'],  # 这行一定要加上!
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

然后把你的index.html放到项目根目录的templates文件夹里(如果没有就新建一个)。

接下来在视图里返回这个模板,比如在views.py中:

from django.shortcuts import render

def index(request):
    # 渲染templates文件夹下的index.html
    return render(request, 'index.html')

最后配置URL路由,在项目的urls.py中:

from django.urls import path
from . import views  # 如果视图在app里,就改成from your_app_name import views

urlpatterns = [
    path('', views.index, name='index'),  # 访问根路径时返回index页面
]
三、在模板中正确引入CSS、JS和Bootstrap

首先,Django 3.0+推荐使用{% load static %}替代旧的{% load staticfiles %},所以先把模板开头改过来。然后按照以下方式引入资源(注意路径要和你static文件夹的结构对应):

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <title>Business Casual - Start...</title>
    
    <!-- 引入Bootstrap的CSS文件 -->
    <link rel="stylesheet" href="{% static 'bootstrap/css/bootstrap.min.css' %}">
    <!-- 引入你的自定义CSS -->
    <link rel="stylesheet" href="{% static 'css/custom.css' %}">
</head>
<body>
    <!-- 这里放你的页面内容 -->
    
    <!-- 先引入jQuery(Bootstrap的JS依赖必须先加载) -->
    <script src="{% static 'bootstrap/js/jquery.min.js' %}"></script>
    <!-- 再引入Bootstrap的JS文件 -->
    <script src="{% static 'bootstrap/js/bootstrap.min.js' %}"></script>
    <!-- 最后引入你的自定义JS -->
    <script src="{% static 'js/custom.js' %}"></script>
</body>
</html>

如果你的Bootstrap文件结构不同(比如解压后直接在static根目录),记得调整路径哦。

四、测试验证

完成以上配置后,启动Django开发服务器:

python manage.py runserver

访问http://localhost:8000,如果页面样式正常加载,没有浏览器控制台的404错误,就说明配置成功啦!

几个常见小坑提醒:

  • 一定要检查静态文件的路径拼写,大小写错误很容易导致404
  • 生产环境部署时,别忘了运行python manage.py collectstatic,把所有静态文件收集到STATIC_ROOT目录
  • 如果你的Bootstrap模板依赖其他字体或图标资源,也要确保它们放在static文件夹里,并正确引入路径

内容的提问来源于stack exchange,提问作者houwaida yahyaoui

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 10:05:14