29 lines
866 B
Python
29 lines
866 B
Python
import json
|
|
import logging
|
|
|
|
from django.http import HttpResponse
|
|
from django.template import RequestContext
|
|
from django.utils.html import escape
|
|
from django.conf import settings
|
|
|
|
from . import utils
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
def ajax_render(request, slug):
|
|
context = RequestContext(request)
|
|
template, context = utils.render_blurp(context, slug, ajax=False)
|
|
result = {}
|
|
try:
|
|
template, context = utils.render_blurp(context, slug)
|
|
result['content'] = template.render(context)
|
|
except Exception, e:
|
|
logger.exception('error while rendering blurp %s', slug)
|
|
msg = ''
|
|
result['error'] = msg
|
|
if settings.TEMPLATE_DEBUG:
|
|
msg += 'error while rendering blurp %s: %s' % (slug, e)
|
|
result['content'] = '<pre>%s</pre>' % escape(msg)
|
|
return HttpResponse(json.dumps(result))
|
|
|