django自定义过滤器实例

kkkkk 2018年12月17日 23:12 python框架

需求:通过以键方式从字典中取值,如 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"}}



文章评论(0)
  • avatar kkkkkk 2018年12月21日 11:31
    潭州python学院老师真棒!
    kkkkk
    2018年12月21日 11:16
    选词失当,譬喻不切 认识错误,不切题意。文辞生硬,未能达意。含义空虚,句亦欠顺。
    回复
  • avatar kkkkkk 2018年12月21日 11:31
    Youkou老师真帅
    kkkkklxinde
    2018年12月21日 11:17
    词雅文练,写景生动。布局新颖,用词简达。娓娓细说,清婉可喜。写景状物,入木三分。
    回复
  • avatar kkkkklxinde 2018年12月21日 11:17
    词雅文练,写景生动。布局新颖,用词简达。娓娓细说,清婉可喜。写景状物,入木三分。
    回复
  • avatar kkkkk 2018年12月21日 11:16
    选词失当,譬喻不切 认识错误,不切题意。文辞生硬,未能达意。含义空虚,句亦欠顺。
    回复