csdn推荐
Django模板系统 引言
在之前的几天中,我们介绍了Django的基本概念、模型和视图。今天我们将探讨Django的模板系统,它负责将数据和HTML模板结合起来,生成最终用户看到的内容。
Django模板系统概述
Django的模板系统是一个强大的工具,用于将动态数据插入到静态或半静态的页面中。它使用自己的模板语言,允许你在HTML中嵌入Python代码。
创建模板 创建模板文件:在你的Django应用目录下,创建一个名为templates的文件夹。Django会自动在这个文件夹中查找模板文件。myapp/├── templates/ │ └── base.html └── ...编写模板:在templates文件夹中,创建一个HTML文件并编写你的模板。DOCTYPE html> Titletitle>head> Welcome to my siteh1> {% block content %} {% endblock %}body>html>在这个例子中,{% block content %}是一个占位符,它允许子模板覆盖或扩展这个部分。 使用模板 在视图中加载模板:使用render函数来加载模板并传递数据。from django.shortcuts import renderdef home(request): context = {'name': 'Django'} return render(request, 'home.html', context)配置URL:确保你的URL配置指向正确的视图。from django.urls import pathfrom .views import homeurlpatterns = [ path('', home, name='home'),] Django模板语言
Django模板语言提供了许多控制结构,如if语句、for循环等,以及过滤器和标签。
控制结构 过滤器
过滤器可以用来修改变量的值。
自定义过滤器
你还可以创建自定义过滤器。
创建自定义过滤器:在你的应用目录下,创建一个templatetags文件夹,并在其中创建一个__init__.py文件和一个Python文件,比如custom_filters.py。myapp/├── templatetags/ │ ├── __init__.py │ └── custom_filters.py └── ...编写自定义过滤器:# custom_filters.pyfrom django import templateregister = template.Library()@register.filterdef add(value, arg): try: return int(value) + int(arg) except ValueError: return value在模板中使用自定义过滤器:{{ 5|add:"3" }} 模板继承
模板继承允许你创建一个基础模板,并让其他模板继承它,这样你可以保持一致的布局和样式。
创建基础模板:我们已经在上文中创建了一个基础模板base.html。创建子模板:创建一个子模板,继承并扩展基础模板。{% extends 'base.html' %} {% block content %}Welcome to the Home Pageh2>{% endblock %} 总结
在今天的教程中,我们学习了Django模板系统的基本概念,包括如何创建模板、使用模板、Django模板语言的控制结构、过滤器以及模板继承。模板系统是Django中渲染动态内容的关键部分,它使得前端开发变得更加简单和高效。
文章来源:https://blog.csdn.net/fhy567888/article/details/140154845
微信扫描下方的二维码阅读本文
暂无评论内容