django自定义过滤器实例
需求:通过以键方式从字典中取值,如 test[key]=value
views.py
from django.template import RequestContext from django.shortcuts import render_to_response def view(request) dicts = {"key1": 1, "key2": 2, "key3": 3, } return render_to_response("index.html", {"dicts":dicts,},context_instance = RequestContext(request))
1.在app目录下建立templatetags/在此目录下建立空文件__init__.py和myfilter.py
2.在myfilter.py编辑
from django import template register = template.Library() def key(d,key_name): value = 0 try: value = d[key_name] except KeyError: value = 0 return value register.filter("key",key)
3.在模板中使用
{% load myfilter %} #加载自定认标签 {{dicts|key:"key1"}}
来源:PY学习网:原文地址:https://www.py.cn/article.html