当前位置:首页 > AI技术 > 正文内容

Django 项目中正确引入 静态文件的完整教程深度解析|Duuu笔记

admin2个月前 (04-02)AI技术48

在 Django 中,HTML 模板无法直接通过相对路径(如 href="stylepage.css")引用 CSS 文件,必须使用 {% static %} 模板标签配合正确的静态文件配置才能生效。

在 django 中,html 模板无法直接通过相对路径(如 `href="stylepage.css"`)引用 css 文件,必须使用 `{% static %}` 模板标签配合正确的静态文件配置才能生效。

Django 将

模板(templates)

静态资源(static files)

严格分离:.html 文件位于 templates/ 目录下,由 Django 渲染后返回给浏览器;而 .css、.js、图片等前端资源属于

静态文件

,需统一存放在 static/ 目录中,并通过 Django 的静态文件机制提供服务。

✅ 正确配置步骤

1. 创建并组织静态文件目录

确保项目根目录(与 manage.py 同级)下存在 static/ 文件夹,并将 CSS 文件放入其中:

myproject/

├── manage.py

├── myproject/ # 主配置包

├── templates/ # 存放 index.html 等模板

└── static/ # ← 新建此目录

└── stylepage.css # ← 放置你的 CSS 文件

? 建议按应用分目录(如 static/myapp/stylepage.css),便于后期维护,但基础用法中扁平结构即可。

2. 配置 settings.py

确认以下设置已启用(Django 默认已配置,但请检查):

(深入)

”;

白瓜AI

白瓜AI,一个免费图文AI创作工具,支持 AI 仿写,图文生成,敏感词检测,图片去水印等等。

下载

# myproject/settings.py

import os

# 静态文件根目录(开发时 Django 自动收集的路径)

STATIC_URL = '/static/'

STATICFILES_DIRS = [

os.path.join(BASE_DIR, 'static'),

]

# 生产环境推荐使用 STATIC_ROOT + collectstatic,此处暂不展开

3. 在 urls.py 中启用开发期静态服务(仅 DEBUG=True)

在项目主 urls.py(如 myproject/urls.py)末尾添加:

from django.contrib import admin

from django.urls import path, include

from django.conf import settings

from django.conf.urls.static import static

urlpatterns = [

path('admin/', admin.site.urls),

path('', include('myapp.urls')), # 示例应用路由

]

# ⚠️ 仅在开发环境启用!生产环境由 Nginx/Apache 托管

if settings.DEBUG:

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

4. 修改 HTML 模板:加载静态标签并正确引用

将原始 标签替换为 Django 静态语法:

{% load static %}

TheWebPub

{% if name %}

Hello {{ name }}.

{% else %}

Hello world.

{% endif %}

Thank you for being here in my website, it's my first one. I'm creating this website with Django/Python.

? 注意:{% static 'stylepage.css' %} 中的路径是相对于 STATICFILES_DIRS 中定义的目录(即 static/ 下的子路径),不是相对于 HTML 文件位置。

5. 验证与调试技巧

启动开发服务器:python manage.py runserver

打开浏览器开发者工具(F12)→ Network 标签页 → 刷新页面 → 查看 stylepage.css 是否返回

200 OK

若返回 404,请检查:

static/stylepage.css 文件是否存在且拼写正确;

settings.py 中 STATICFILES_DIRS 路径是否指向正确目录;

模板中是否遗漏 {% load static %};

URL 是否被意外覆盖(如 STATIC_URL = '' 或 None)。

? 重要注意事项

❌ 不要将 CSS 放在 templates/ 内——浏览器无法直接访问该目录;

❌ 不要使用 或 href="./static/stylepage.css"——这是普通 HTML 写法,在 Django 中无效;

✅ 生产部署时,

务必禁用 static() URL 配置

,改用 Web 服务器(Nginx/Apache)托管静态文件,并运行 python manage.py collectstatic;

✅ 推荐为 CSS 添加版本参数防缓存(可选):

遵循以上流程,即可稳定、可扩展地在 Django 项目中管理所有前端静态资源。

相关文章

跨平台机器学习:ML.NET架构及应用编程

平台上的一个机器学习框架,它提供了一套丰富的算法和工具,使得开发人员可以轻松地构建和部署机器学习模型。支持多种编程语言,包括等,这使得它成为跨平台机器学习的理想选择。的架构主要包括三个部分:数据读取、...

什么是人工智能 ?

您可以使用 ML 训练 AI,使其精确、快速地执行任务。这可以通过自动化员工感到吃力或厌烦的业务部分来提高运营效率。同样,您可以使用 AI 自动化来腾出员工资源,用于更复杂和更具创造性的工作。...

几种主要的神经网络

卷积神经网络的输入为二维的像素整阵列,输出为这个图片的属性,当网络训练学习后,所输入的图片或许经过稍微的变换,但卷积神经网络还是可以通过识别图片局部的特征而将整个图片识别出来。 :该层...

深入理解AI:WorkBuddy 怎么做组织架构图 WorkBuddy 组织架构图生成教程【实战】完全指南|Duuu笔记

WorkBuddy可通过四种方式生成组织架构图:一、用自然语言指令触发AI自动解析并渲染Mermaid图表;二、上传Excel结构化数据映射字段后批量构建动态树状图;三、启用OpenClaw技能包对接...

深入理解前端开发:Minimax 视频生成中负面提示词(Negative Prompt)写法完全指南|Duuu笔记

Minimax视频生成中负面提示词需用英文、逗号分隔,支持权重调节(如(blurry:1.3)),按构图/主体/画质/风格四类精简选取,禁用not/no/中文及违规词,须通过A/B测试验证有效性。...

AI高级应用:Perplexity 怎么写用户手册 Perplexity 产品帮助文档生成【技术】实战案例|Duuu笔记

Perplexity AI用户手册需基于API元数据、真实UI截图、典型场景示例、响应字段解析及动态调试指令五步构建:一调用API获取参数与错误码;二标注网页端搜索框、引用图标等组件;三设计信息检索、...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。