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

求助:Django项目中HTML无法关联CSS文件,CSS样式不生效

Django中CSS样式不生效的解决方法

在Django项目里,静态文件(CSS、JS、图片等)不能像普通HTML那样直接引用,必须遵循Django的静态文件管理规范,你当前的引用方式不符合规则,导致CSS无法加载。以下是具体解决步骤:

1. 检查并配置静态文件设置

打开项目根目录的settings.py,确保以下配置正确:

# 确认INSTALLED_APPS中包含静态文件应用
INSTALLED_APPS = [
    ...
    'django.contrib.staticfiles',
    ...
]

# 设置静态文件的URL前缀
STATIC_URL = '/static/'

# 开发环境下,可指定额外的静态文件目录(推荐配置)
import os
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]

2. 整理静态文件目录结构

在项目根目录创建static文件夹,再在其中创建css子文件夹,将你的stylepage.css文件放到static/css/路径下。最终目录结构大致如下:

你的项目名称/
├── 你的项目名称/
├── static/
│   └── css/
│       └── stylepage.css
├── templates/
│   └── index.html
└── manage.py

3. 修改HTML中的CSS引用方式

首先在HTML的<head>标签开头加载Django的静态文件模板标签,然后用该标签引用CSS文件:
修改后的完整HTML代码:

<!DOCTYPE html>
<html lang="en">
<head>
    {% load static %}
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>TheWebPub</title>
    <link rel="stylesheet" href="{% static 'css/stylepage.css' %}">
</head>
<body>
    {% if name %}
    <h1 class='title'>Hello {{name}}. </h1>
    {% else %}
    <h1>Hello world.</h1>
    {% endif %}

    <p>Thank you for being here in my website, it's my first one. I'm creating this website with django/python.</p>
</body>
</html>

4. 额外修正:views.py中的错误导入

你的views.py里from django.http import request是错误的,正确写法只需保留request参数即可,修改后的代码:

from django.shortcuts import render

def say_hello(request):
    return render(request, 'index.html', {'name':'Adryan'})

完成以上步骤后,重启开发服务器(python manage.py runserver),CSS样式即可正常生效。

内容的提问来源于stack exchange,提问作者Adryan Taborda

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 23:46:01