美文网首页
自定义模板过滤器

自定义模板过滤器

作者: 生命有一种执着 | 来源:发表于2020-05-22 16:42 被阅读0次

    首先举个栗子来说:我们在设置数据时候,通常不会直接使用男,女;而是用男==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>

    相关文章

      网友评论

          本文标题:自定义模板过滤器

          本文链接:https://www.haomeiwen.com/subject/xyozohtx.html