django如何传递html_Django框架中HTML模板传递与渲染方法

28次阅读

django通过视图函数使用 render()将上下文数据传递给 html 模板,模板利用 {{}} 渲染变量、{% %}执行逻辑控制,支持 继承 与静态文件加载,实现高效灵活的页面生成。

django 如何传递 html_Django 框架中 HTML 模板传递与渲染方法

在 Django中,HTML 模板的传递与渲染是通过视图函数(或类视图)将数据传递给模板文件,再由 django 模板引擎解析并生成最终的 HTML 页面返回给用户。整个过程涉及视图、模板和上下文数据三部分协同工作。

1. 视图中传递数据到 HTML 模板

在 Django 视图中,使用 render() 函数可以将上下文数据传递给指定的 HTML 模板文件。

  • render(request, template_name, context=None):快捷方式,自动使用请求的上下文 处理器
  • context 是一个字典,包含要传递给模板的数据。

示例代码:

from django.shortcuts import render <p>def home_view(request): context = {'title': '首页', 'message': '欢迎使用 Django!', 'user_list': ['张三', '李四', '王五'] } return render(request, 'home.html', context)</p>

2. 模板文件中的变量渲染

Django 模板使用双大括号 {{}} 来输出变量内容。

立即学习 前端免费学习笔记(深入)”;

  • {{variable}} 会替换为上下文中对应的值。
  • 支持点符号访问 对象 属性或字典键,如 {{user.name}} 或 {{request.GET.q}}。

home.html 示例:

<!DOCTYPE html> <html> <head>     <title>{{title}}</title> </head> <body>     <h1>{{message}}</h1>     <ul>     {% for user in user_list %}         <li>{{user}}</li>     {% endfor %}     </ul> </body> </html>

3. 使用模板标签控制逻辑

Django 模板语言提供 {% %} 语法用于控制结构,如 循环、条件判断等。

django 如何传递 html_Django 框架中 HTML 模板传递与渲染方法

AiPPT 模板广场

aiPPT 模板广场 -PPT 模板 -word 文档模板 -excel 表格模板

django 如何传递 html_Django 框架中 HTML 模板传递与渲染方法 147

查看详情 django 如何传递 html_Django 框架中 HTML 模板传递与渲染方法

  • {% if %} {% endif %}:条件判断。
  • {% for %} {% endfor %}:循环遍历列表或查询集。
  • {% include %}:嵌入其他模板片段。
  • {% extends %} 和 {% block %}:实现模板继承。

例如,使用模板继承构建基础布局:

<!-- base.html --> <html> <head><title>{% block title %}{% endblock %}</title></head> <body>     <header><h1> 我的网站 </h1></header>     <main>         {% block content %}         {% endblock %}     </main> </body> </html> <!-- home.html 继承 base.html --><p>{% extends "base.html" %} {% block title %}{{title}}{% endblock %} {% block content %} <h1>{{message}}</h1> <ul> {% for user in user_list %} <li>{{user}}</li> {% endfor %} </ul> {% endblock %}</p>

4. 静态文件与媒体文件的处理

HTML 模板中引用cssjavaScript、图片等静态资源时,需加载 Static 模块。

  • 在模板顶部使用 {% load static %}。
  • 通过 {% static ‘path/to/file’ %} 获取静态资源 URL。

示例:

{% load static %} <link rel="stylesheet" href="{% static 'css/style.css' %}"> <img src="{% static 'images/logo.png' %}" alt="Logo">

确保 settings.py 中已配置 STATIC_URL 和 STATICFILES_DIRS。

基本上就这些。Django 通过简洁的上下文传递和强大的模板系统,让 HTML 渲染变得灵活又高效。只要掌握 render 函数、模板变量、标签和静态文件处理,就能顺利实现前 后端 数据交互。

以上就是 djan

站长
版权声明:本站原创文章,由 站长 2025-11-06发表,共计1772字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources