def edit(request, cid=None): if cid: chart = get_object_or_404(Chart, pk=cid) else: chart = Chart(name='blank_chart', data='1,2,3,4,5', chart_instructions=""" chart Line dataset1 encoding=text size 300 300 scale 0 5 endchart""") chart.save() data = '' scale = '' ns = {} if 'save_chart' in request.POST: ds, chartimg = interp(request.POST['data'], request.POST['inst']) ns['inst'] = request.POST['inst'] ns['data'] = '\r\n'.join([','.join(map(str, d)) for d in ds.values()]) ns['chartimg'] = chartimg chart.data = request.POST['data'] chart.chart_instructions = ns['inst'] chart.save() return HttpResponse('<a href="/view/%d/">%s</a>' % (chart.id, ns['chartimg'])) else: ns['data'] = chart.data ns['inst'] = chart.chart_instructions ds, ns['chartimg'] = interp(chart.data, chart.chart_instructions) ns['chart'] = chart return render_to_response('charts/edit.html', ns)