@csrf_exempt def submit(request): if request.method != 'POST': return HttpResponse(json.dumps({'success': False, 'reason': 'I only speak POST'}), mimetype='application/json') try: json_data = json.loads(request.raw_post_data) except Exception, e: return HttpResponse(json.dumps({'success': False, 'reason': 'Bad JSON.', 'exception': str(e)}), mimetype='application/json') try: report = Report() report.agency = json_data['report'].get('agency', None) report.description = json_data['report'].get('description', None) report.lat = json_data['report'].get('latitude', None) report.lon = json_data['report'].get('longitude', None) report.location = json_data['report'].get('location', None) report.date = string_to_date(json_data['report']['date']) report.uuid = json_data['report'].get('uuid', None) report.address_1 = json_data['user'].get('address_1', None) report.address_2 = json_data['user'].get('address_2', None) report.alternate = json_data['user'].get('alternate', None) report.first_name = json_data['user'].get('first_name', None) report.last_name = json_data['user'].get('last_name', None) report.email = json_data['user'].get('email', None) report.phone = json_data['user'].get('phone', None) report.city = json_data['user'].get('city', None) report.state = json_data['user'].get('state', None) report.zip = json_data['user'].get('zip', None) report.save()