Django模板渲染之自定义inclusion_tag详细使用

inclusion_tag在使用的时候可以帮我们减少很多前端和后端重复的代码

逻辑图:

inclusion_tag的作用是主页面以一定的语法给一个参数,调用某个函数,这个函数可以通过主页面给的参数做一些逻辑处理得到一些数据,将数据渲染到一个小html模块,然后将渲染后的小html模块返回给主页面渲染在调用的位置。

在使用自定义inclusion_tag的时候,我们需要在应用下面新建templatetags文件包,里面必须含有__init__.py文件,另外新建一个任意名称的py文件,里面的固定写法如图。

原文地址:https://www.cnblogs.com/dongxixi/p/11073954.html

时间: 2024-08-02 23:29:44

Django模板渲染之自定义inclusion_tag详细使用的相关文章

django模板渲染

模板渲染一般有两种方式: 模板文件: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> {{ name }} </body> </html> 方式一:通过render函数 def aaa(request

Django 模板渲染

模板语言 {{ 变量 }} {% 逻辑 %} {{ 变量 }} {{ 变量 }}中的点号 用于取出字典/列表等类型数据的值 {{ list.2 }} 获取列表list中索引为2的值 {{ dict.name }} 获取字典中name的值 {{ 变量 }}内置的过滤器 以|分隔 {{ a|safe }}  于django输出前,要求不对字符进行转义.自动转义关闭时自动失效 {{ time|date:'Y-m-d H:i:s' }}  格式化输出时间  年月日时分秒 {{ list|join:','

django模板中的自定义过滤器

(1)在APP下创建templatetags文件夹,与Models.py.views.py等同级,templatetags文件夹下添加__init__.py文件,可为空,再添加一个模块文件,例如cpt_filters.py,目录结构如下 myapp/ __init__.py models.py templatetags/ __init__.py cpt_filters.py views.py admin.py appa.py 目录下添加__init__.py文件可让python知道这里是pyth

Python - Django - 模板语言之自定义过滤器

自定义过滤器的文件: 在 app01 下新建一个 templatetags 的文件夹,然后创建 myfilter.py 文件 这个 templatetags 名字是固定的,myfilter 是自己起的 myfilter.py: from django import template register = template.Library() @register.filter(name="sleep") # name 是 html 中的过滤器名 def sleep(arg): retur

python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器

python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 注: 本节代码是基于 Django 1.8,但 Django 1.4 - Djagno 1.9 操作流程也是一样的. 后文给出示例代码可以在 Django 1.4.x 到 Django 1.9.x 上运行. 不过还是强调一点,一点要动手敲代码!不要偷懒哦,动手才能学到真东西. 1. 创建一个 zqxt_tmpl 项目,和一个 名

Django模板系统详解

你可能已经注意到我们在例子视图中返回文本的方式有点特别.也就是说,HTML被硬性地直接写入 Python代码之中. 这种处理会导致一些问题: § 对页面设计的进行任何改变都必须对 Python代码进行相应的修改.站点设计的修改往往比底层Python代码的修改要频繁得多,因此如果可以在不进行 Python代码修改的情况下变更设计,那将会方便得多. § Python代码编写和 HTML 设计是两项不同的工作,大多数专业的网站开发环境都将他们分配给不同的人员(甚至不同部门)来完成.设计人员和 HTML

Django -- 模板

一切伟大的行动和思想,都有一个微不足道的开始:   -- 徐志摩<励志天下> 一切能忍受的微不足道,都有一个行动思想在脚下.   -- 小QQ <励志自己> ------------------------------------------------------------------------------------------------------ 前一节,我们把HTML直接硬编码在python中,尽管他便于解释使徒的工作原理,但是却不是一个好主意: 1.对页面设计进行

Django项目实践2 - Django模板

http://blog.csdn.net/pipisorry/article/details/45061511 上篇:Django项目实践1 - 创建Django项目 Django模板 {视图和模板对逻辑和显示进行了分隔} 上面是使用 django.http.HttpResponse() 来输出"Hello World!".该方式将数据与视图混合在一起,不符合Django的MVC思想.或者HTML被直接硬编码在 Python 代码之中. html = "<html>

Django模板系统(非常详细)(后台数据如何展示在前台)

前面的章节我们看到如何在视图中返回HTML,但是HTML是硬编码在Python代码中的这会导致几个问题:1,显然,任何页面的改动会牵扯到Python代码的改动网站的设计改动会比Python代码改动更频繁,所以如果我们将两者分离开会更方便2,其次,写后台Python代码与设计HTML是不同的工作,更专业的Web开发应该将两者分开页面设计者和HTML/CSS程序员不应该编辑Python代码,他们应该与HTML打交道3,程序员写Python代码同时页面设计者写HTML模板会更高效,而不是一个人等待另一