[英]Register custom filter in django
我的過濾器沒有注冊並且不確定它在哪里被絆倒了。
在測試/模板標簽中
__init__.py
test_tags.py
test_tags.py 包括
from django import template
register.filter('intcomma', intcomma)
def intcomma(value):
return value + 1
test/templates 包含 pdf_test.html,內容如下
{% load test_tags %}
<ul>
<li>{{ value |intcomma |floatformat:"0"</li>
</ul>
float 格式工作正常但在 intcomma 上沒有運氣
首先,您還沒有定義register
:
要成為有效的標記庫,模塊必須包含名為register的模塊級變量,該變量是template.Library實例,其中注冊了所有標記和過濾器。
另外,我通常使用register.filter
修飾函數:
from django import template
register = template.Library()
@register.filter
def intcomma(value):
return value + 1
從 django.template.defaulttags 導入寄存器
from django.template.defaulttags import register
視圖.py
from django.template.defaulttags import register
@register.filter
def intcomma(value):
return value + 1
..........................other code.................................
列表.html
{% extends "base.html" %}
{% block content %}
<ul>
<li><h1>{{ 2.568|intcomma|floatformat:"0" }}</h1></li>
</ul>
{% endblock content %}
Output 像這樣:-
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.