[英]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.