def render_custom(request, template, context=None): if context is None: context = {} # add toolbar if it's an authorized user if request.is_mobile: if template == 'base.html': template = 'base.html' else: context['base'] = 'mobile/base.html' t = select_template(['mobile/' + template, template]) else: if request.session.get('customizing'): if template == 'base.html': template = 'dashboard/look/preview.html' panels = Stork(request.site.theme) context.update({ 'styles': panels.style_tags(), 'toolbar': panels.toolbar(), 'base': 'dashboard/look/preview.html', 'pre_base': panels['layout'].as_template(staged=True), }) else: context.update({ 'base': 'base.html', 'pre_base': request.site.template() }) t = get_template(template) c = RequestContext(request, context) rendered = t.render(c) return HttpResponse(rendered)