自定义模板过滤器

首先举个栗子来说:我们在设置数据时候,通常不会直接使用男,女;而是用男==1,女==0来代替;

但是在页面上显示的时候,我想看到显示的是男,女(中文或者英文);此时我们就需要进行一个自定义的模板;

一、代码布局;

        1、某个APP特有;

        2、放置在根目录,多个APP共用;

        常用的设置:某个APP特有:

                1、步骤1:创建一个名称叫tempaltetags的包(必须叫这个,里面必须有__init__.py)   

                2、APP必须要在INSTALLED_APPS 设置

                3、重启服务

二、开始编写代码

        1、编写自定义过滤函数

                #自定义过滤器函数,改变性别的显示方式

                def to_sex(value,flag='zh'):

                            change = {

                                    'zh' : ('女','男'),

                                    'en' : ('Female','Male')

                        }

                             return change[flag][value]

          2、注册

                from djangoimport template

                register = template.Library()#此变量名必须为这个register

                #自定义过滤器函数,改变性别的显示方式

                def to_sex(value,flag='zh'):

                                change = {

                                        'zh' : ('女','男'),

                                        'en' : ('Female','Male')

                                }

                                 return change[flag][value]

                   #将函数to_sex定义为过滤器

                   register.filter(to_sex)

            3、模板中配置

                        {%load customer_filter %}

                        <td>{{student.sex|sex_1:'zh' }}</td>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容