django自定义模板函数(代码片段)

author author     2022-12-22     634

关键词:

模板函数是使用于模板文件的处理函数,模板函数的使用方式是% 模板函数 %

1. 创建自定义函数文件夹

想要使用自定义模板函数的话需要先创建用于存放函数的文件夹,而在django中对于自定义函数文件夹的名称有严格的要求,即要求存放自定义模板函数的文件夹必须叫templatetags

  • 首先在项目app文件夹中创建templates文件夹
  • 创建模板函数py文件,文件名可自定义,笔者这里叫utils.py
    templates/utils.py
    
    from django import template
    from django.utils.safestring import mark_safe
    from time import strftime, localtime

register = template.Library()

@register.simple_tag
def foramtDate(timestamp):
‘‘‘
格式化时间戳
‘‘‘
result = ‘1997-01-01 0:0:0‘
try:
timestamp = float(timestamp)
result = strftime(‘%Y-%m-%d %H:%M:%S‘, localtime(timestamp))
except Exception as error:
pass

return result
**上面内容除了def方法体外,其余均为模板函数固定格式**

#### 2. 在模板文件中使用自定义模板函数
在使用自定义模板函数前需要先引进模板函数文件
```html
% extends ‘global.html‘ %
% load utils %
<!DOCTYPE html>
<html lang="zh">
.....
<body>
...
<label>注册时间:</label>
<div>% foramtDate request.session.userData.reg_datetime %</div>
...
</body>
</html>

% load utils %,则是引进对应的模板文件,函数foramtDate后面跟的则为形参

django(模板语言-自定义filter和simple_tag)(代码片段)

...块(必须的)b.在templatetags中创建.py文件,如my_tags.pyfromdjangoimporttemplatefromdjango.utils.safestringimportmark_saferegister 查看详情

django——模板层:变量过滤器标签自定义标签和过滤器(代码片段)

...hon的代码分离开会更干净简洁更容易维护。我们可以使用Django的模板系统(TemplateSystem)来实现这种模式#django模板修改的视图函数defcurrent_time(req):fromdjango.templateimportTemplate,Contextnow=datetime.datetime.now()t 查看详情

django自定义模板标签和过滤器(代码片段)

...作为Python的包1.首先,编写Python函数,templatetags/my_tags.pyfromdjangoimporttemplateregister 查看详情

django第五课自定义模板过滤器与标签(代码片段)

...件夹下创建customer_filter.py文件,写上如下代码:  fromdjango.templateimportLibrary#第一中调用方式register=Library()defto_male(value,arg=‘zh‘):map=‘zh‘:(‘女‘,‘男‘),‘en‘:(‘female‘,‘male‘)returnmap[arg][value]register.filter(‘male‘,to_male)或... 查看详情

django之模板层-自定义过滤器以及标签(代码片段)

...标签与过滤器在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag.在app中创建templatetags模块(模块名只能是templatetags)创建任意.py文件,如:my_tags.pyfromdjangoimporttemplate#该对象名必须是registerregister=template.Library()... 查看详情

django-dil模板自定义过滤器(代码片段)

...言相比显得有点薄弱,有时候不能满足我们的需求。因此django提供了一个接口,让开发者能自定义标签和过滤器。首先,你需要添加一个templatetags的文件夹,自定义过滤器必须处在已经安装了的app中的一个名叫”templatetags”的包... 查看详情

django-模板之自定义模板路径(代码片段)

...有book/templates/index.py和/templates/index.py在book/views.py中有fromdjango.viewsimportViewfromdjango.shortcutsimportrender#Createyourviewshere.classIndexView(View):defget(self,request):returnrender(request,"index.html")在settings.py中,有 TEMPLATES=[‘BACKEND‘:‘django.template.ba... 查看详情

django定义视图函数(代码片段)

Django定义视图函数视图函数主要在Django项目内app下的views.py文件内定义#调用模块方法fromdjango.shortcutsimportrender,HttpResponse,redirectdeffunc()#包含所有的请求数据....#返回字符串内容returnHttpRespon(‘字符串‘)#返回数据render(request,‘模板... 查看详情

django自定义模板函数

https://www.cnblogs.com/SunsetSunrise/p/7680491.html在django中新建一个应用:listpage在listpage中新建templatetags文件夹在templatetags文件夹中新建XX.py文件在XX.py中写入:fromdjangoimporttemplateregister=template.Library()@register.s 查看详情

django——模板层(template)(模板语法自定义模板过滤器及标签模板继承)(代码片段)

前言:当我们想在页面上给客户端返回一个当前时间,一些初学者可能会很自然的想到用占位符,字符串拼接来达到我们想要的效果,但是这样做会有一个问题,HTML被直接硬编码在Python代码之中。1234defcurrent_datetime(request): &nbs... 查看详情

django博客开发教程10-页面侧边栏:使用自定义模板标签(代码片段)

...解决方案是直接在模板中获取,为此,我们使用Django的一个新技术:自定义模板标签来完成任务。使用模板标签的解决思路我们前面已经接触过一些Django内置的模板标签,比如比较简单的%static%模板标签,这个... 查看详情

django自定义错误响应(代码片段)

...应的处理,给一些友好提示,或返回一些公益广告等。在Django中,默认提供了常见的错误处理方式,比如:handler404=‘polls.views.my_custom_page_not_found_view‘handler500=‘polls.views.my_custom_error_view‘handler403=‘polls.views.my_custom_permission_denie... 查看详情

django自定义模板标签和过滤器(代码片段)

Django虽然为我们内置了二十多种标签和六十多种过滤器,但是需求是各种各样的,总有一款你cover不到。Django为我们提供了自定义的机制,可以通过使用Python代码,自定义标签和过滤器来扩展模板引擎,然后使用%load%标签。一、... 查看详情

django模板层(代码片段)

模板层(模板语法)1.过滤器2.标签3.自定义标签,过滤器,inclusion_tag4.模板的继承5.模板的导入后端向前端传递数据有两种方式:区别:第一种传值方式是以字典的传值方式,精确地去传某一个对象,第二种传值方式是把函数中... 查看详情

django的templates(模板)(代码片段)

目录Django的templates(模板)模板传值模板过滤器模板语法之标签常用标签之for标签常用标签之if标签常用标签之with标签自定义过滤器和标签模板的继承和导入模板的导入之include标签模板的继承/派生之extends标签,block标签Django的t... 查看详情

django入门--自定义过滤器与标签(代码片段)

为了让Django找到自定义的模板过滤器和模板标签,需要进行文件路径配置,配置方式分为APP目录下配置和项目路径下配置两种方式:1.在APP目录下配置:针对某个应用特定的自定义第一步:在APP目录下创建"templatetags"文件夹;第... 查看详情

实现一个支持自定义函数的模板表达式(代码片段)

工作中需要用到一个支持变量替换和自定义函数的模板表达式,发现现有的开源项目不能满足,于是自己造了个轮子。该模板表达式核心就三个文件:ExpressionNode.java-- 表达式节点publicclassExpressionNode/**模板**/publicstaticfinalIntege... 查看详情

实现一个支持自定义函数的模板表达式(代码片段)

工作中需要用到一个支持变量替换和自定义函数的模板表达式,发现现有的开源项目不能满足,于是自己造了个轮子。该模板表达式核心就三个文件:ExpressionNode.java-- 表达式节点publicclassExpressionNode/**模板**/publicstaticfinalIntege... 查看详情