jsonify template tag added

Closes #5866
This commit is contained in:
Serghei Mihai 2014-11-04 23:24:37 +01:00
parent fbe7b87218
commit dfd17e4fd4
1 changed files with 13 additions and 0 deletions

View File

@ -1,8 +1,13 @@
import logging
import json
from django import template
from django.conf import settings
from django.utils.html import escape
from django.core.serializers import serialize
from django.core.serializers.json import DjangoJSONEncoder
from django.db.models.query import QuerySet
from django.utils.safestring import mark_safe
from classytags.arguments import Argument
from classytags.core import Options, Tag
@ -11,6 +16,14 @@ from .. import utils
register = template.Library()
# originally copied from django-jsonify(https://bitbucket.org/marltu/django-jsonify/)
# released under a three-clause BSD License by Marius Grigaitis
@register.filter
def jsonify(obj):
if isinstance(obj, QuerySet):
return mark_safe(serialize('json', obj))
return mark_safe(json.dumps(obj, cls=DjangoJSONEncoder))
@register.tag
class RenderBlurp(Tag):
name = 'render_blurp'