Django加载静态HTML模板完整教程

陆遥
陆遥
发布时间:2026-10-13| 3人浏览过
原创

本文详细解析Django框架中加载静态HTML模板的方法。通过对比静态与动态HTML的区别,演示如何在manage.py同级创建html目录,修改视图函数使用render_to_response,并在settings.py中配置TEMPLATES_DIRS路径。解决模板找不到的问题,实现从返回纯文本到渲染HTML页面的转变,帮助开发者快速掌握Django基础模板加载流程。

承接前文关于Django入门使用的示例内容。

本文将重点探讨Django框架中加载静态HTML文件的具体实现方式。

首先,我们需要明确静态HTML与动态HTML的概念及其核心差异。

静态HTML是指仅使用HTML语言或结合CSS样式表制作的网页,内容包含图片、文字等元素,仅供用户浏览。这类页面不包含任何客户端脚本,也不具备任何交互功能。

动态HTML则不仅提供浏览内容,还具备交互功能。它通常利用JavaScript等脚本语言,并结合PHP等服务器端语言,实现用户注册、登录、文件上传与下载等复杂功能。

接下来,我们将具体了解在Django中加载静态HTML页面的实现步骤。

第一步,在manage.py文件所在的同级目录下新建一个名为html的文件夹,并在该文件夹内创建一个index.html文件。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <h1>这是一个html页面</h1>
</body>
</html>

第二步,接着修改视图函数代码。

Django提供了一个专门的函数用于加载网页模板。

该函数名为render_to_response。

回顾我们在Django初体验中的案例,当浏览器访问http://127.0.0.1:8000/index/时,页面显示“helloworld”,这实际上是代码return HttpResponse("<h1>helloworld</h1>")所返回的纯文本内容。

那么,当我们访问相同的地址时,页面是否会显示index.html的内容呢?

很遗憾,此时页面会报错提示“模板不存在”。

出现上述错误的原因是我们尚未完成必要的配置工作。

请打开settings.py文件,找到TEMPLATES配置项中的DIRS列表,在其中添加BASE_DIR+'/html'路径,以指定模板文件的查找目录。

完成上述配置后,再次访问http://127.0.0.1:8000/index/,即可看到预期的index.html页面内容。

总结

以上即为Python结合Django加载静态网页模板的完整解析,希望本文能对大家有所帮助。感兴趣的朋友还可以继续查阅本站的相关文章:

Django入门使用示例

Django admin实现图书管理系统菜鸟级教程完整实例

Python通过Django实现用户注册和邮箱验证功能代码

如有不足之处,欢迎在评论区留言指出。感谢朋友们对本站的支持!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。