def start(self, tag, attrs): if tag == "content": return elif tag == "inline": #TODO: process inlines inline_class = get_inline(*attrs.get('type').split(".")) inline = inline_class(attrs) self.output.append(inline.render(self.request, self.obj, self.field)) return self.output.append("<%s>" % tag)
def render(request): inline_id = request.POST['id'] inline_attrs = cjson.decode(request.POST['attrs']) model_app_label = request.POST['model_app_label'] model_name = request.POST['model_name'] model_pk = request.POST['model_pk'] field_name = request.POST['field_name'] app_label, inline_name = inline_attrs.get('type').split('.') inline_class = get_inline(app_label, inline_name) inline = inline_class(inline_attrs) model_class = get_model(model_app_label, model_name) model = model_class._default_manager.get(pk=model_pk) field = model._meta.get_field(field_name) rendered_inline = inline.render(request, model, field) return HttpResponse(rendered_inline)
def start(self, tag, attrs): if tag == "content": return elif tag == "inline": inline = get_inline(*attrs.get('type').split("."))(attrs) inline_tag = ' '.join(['%s="%s"' % (k, v) for k,v in attrs.items()]) content_tag = inline.render(self.request, self.obj, self.field) self.output.append(""" <div class="inline"> <inline %s /> <div class="rendered"> %s </div> </div> """ % (inline_tag, content_tag)) return self.output.append("<%s>" % tag)