当前位置:Gxlcms > Python > django自定义过滤器实例

django自定义过滤器实例

时间:2021-07-01 10:21:17 帮助过:60人阅读

需求:通过以键方式从字典中取值,如 test[key]=value

views.py

  1. from django.template import RequestContext
  2. from django.shortcuts import render_to_response
  3. def view(request)
  4. dicts = {"key1": 1, "key2": 2, "key3": 3, }
  5. return render_to_response("index.html", {"dicts":dicts,},context_instance = RequestContext(request))

1.在app目录下建立templatetags/在此目录下建立空文件__init__.py和myfilter.py

2.在myfilter.py编辑

  1. from django import template
  2. register = template.Library()
  3. def key(d,key_name):
  4. value = 0
  5. try:
  6. value = d[key_name]
  7. except KeyError:
  8. value = 0
  9. return value
  10. register.filter('key',key)

3.在模板中使用

  1. {% load myfilter %} #加载自定认标签
  2. {{dicts|key:"key1"}}

人气教程排行