from django import template from django.template.defaulttags import register from candidatesbulletin.models import StudentsComments from accounts.models import Student from accounts.models import Candidate from candidatesbulletin.models import CandidatePosts register = template.Library() @register.filter(name='getcomments') def getcomments(comments,post): return comments[post] register.filter('getcomments',getcomments) @register.filter def getmorevalue(more,index): return more[index] # regsiter.filter('getmorevalue',getmorevalue)
from django.template.defaulttags import register from survey.models import Record def display_violation(value): try: return dict(Record.VIOLATIONS_CHOICES)[value] except KeyError: return settings.TEMPLATE_STRING_IF_INVALID register.filter('display_violation', display_violation)
from django.template.defaulttags import register def filter_abs(value): return abs(value) register.filter("abs", filter_abs)
from django.template.defaulttags import register from django import template register = template.Library() def get_value(dictionary, key): return dictionary.get(key) register.filter('get_value',get_value)
from django.template.defaulttags import register from django import template register = template.Library() def get_item(dictionary, key): print "--------------------" print dictionary print key print dictionary.get(key) return dictionary.get(key) register.filter('get_item', get_item)
from django.template.defaulttags import register __author__ = 'wddoer' def get_value(dict, k): """ https://docs.djangoproject.com/en/1.8/howto/custom-template-tags/ """ if k in dict: return dict.get(k) return '' register.filter('get_value', get_value)
from django.template.defaulttags import register from django import template # register = template.Library() @register.filter(name='get_value_from_dict') def get_value_from_dict(dictionary, key): return dictionary.get(key) register.filter('get_value_from_dict', get_value_from_dict)
from django.template.defaulttags import register @register.filter # def get_item(dictionary, key): # return dictionary.get(key) def key(d, key_name): try: value = d[key_name] except KeyError: from django.conf import settings value = settings.TEMPLATE_STRING_IF_INVALID return value key = register.filter('key', key)
register = template.Library() def human_time(value): # import pdb; pdb.set_trace() try: diff = timezone.now() - value diff = diff.total_seconds() except: return '' m, s = divmod(diff, 60) h, m = divmod(m, 60) if h: h = int(h) hour_str = 'hour' if h == 1 else 'hours' return f"{h} {hour_str} ago" elif m: return "%s minutes ago" % int(m) elif s: return "%s seconds ago" % int(s) def range(l=5): return list(range(l)) register.filter('range',range) register.filter('human_time', human_time)
import re from django.template.defaulttags import register def url_target_blank(text): return text.replace('<a ', '<a target="_blank" ') # return re.sub("<a([^>]+)(?<!target=)>",'<a target="_blank"\\1>',text) # this is more accurate, but 10X slower than replace (benchmarked) url_target_blank = register.filter(url_target_blank, is_safe = True)
from django.template.defaulttags import register def url_target_blank(text): return text.replace('<a ', '<a target="_blank" ') # return re.sub("<a([^>]+)(?<!target=)>",'<a target="_blank"\\1>',text) # this is more accurate, but 10X slower than replace (benchmarked) url_target_blank = register.filter(url_target_blank, is_safe = True)