<thead id="rrjt3"></thead>
      <progress id="rrjt3"><dfn id="rrjt3"></dfn></progress>

      <em id="rrjt3"></em>

        <address id="rrjt3"><ins id="rrjt3"><dfn id="rrjt3"></dfn></ins></address>
          <i id="rrjt3"></i>

        django模板通過自定義過濾器格式化時間戳

        時間:2022-03-31 22:16:20 類型:python
        字號:    

        django模板不能寫py代碼,那么怎么把世間戳轉換成日期時間格式呢,我們可以通過django提供的自定義過濾器功能來實現

        1、在應用目錄下創建 templatetags 目錄(與 templates 目錄同級,目錄名只能是 templatetags)。

        2、在 templatetags 目錄下創建任意 py 文件,如:my_tags.py。

        3、my_tags.py 文件代碼如下:

        from django import template
        import time
        
        register = template.Library()   #register的名字是固定的,不可改變
        
        
        @register.filter
        # 格式化時間戳
        def formTime(t,f):
            return time.strftime(f, time.localtime(float(t)))

        修改 settings.py 文件的 TEMPLATES 選項配置,添加 libraries 配置:

        TEMPLATES = [
            {
                'BACKEND': 'django.template.backends.django.DjangoTemplates',
                'DIRS': [os.path.join(BASE_DIR, 'templates')]
                ,
                'APP_DIRS': True,
                'OPTIONS': {
                    'context_processors': [
                        'django.template.context_processors.debug',
                        'django.template.context_processors.request',
                        'django.contrib.auth.context_processors.auth',
                        'django.contrib.messages.context_processors.messages',
                    ],
                    "libraries":{                          # 添加這邊三行配置
                        'my_tags':'templatetags.my_tags'   # 添加這邊三行配置
                    }                                      # 添加這邊三行配置
                },
            },
        ]

        4、在使用自定義標簽和過濾器前,要在 html 文件 body 的最上方中導入該 py 文件。

           {% load my_tags %}

        5, 模板中使用

         

        {{ row.addtime | formTime:"%Y-%m-%d %H:%M:%S"}}


        黄网站免费 <