import re from django import template register=template.Library() class PropertyListNode(template.Node): def __init__(self,model_string,format_spec): self.model_string=model_string self.format_spec=format_spec def render(self,context): model_instance=context[self.model_string] out="" for field in model_instance.__class__._meta.fields: try: out+=self.format_spec%\ (field.verbose_name, getattr(model_instance,field.name)) except TypeError as e: raise template.TemplateSyntaxError("invalid format string\ specified to property list template tag: "+str(e)) return out def property_list(parser,token): """Property list tag, returns all fields of a model in the order defined, using a format specifier passed to the tag. Example usage {% property_list car "