def new_profile(request): if request.method == 'GET': form = ScraperProfileForm() elif request.method == 'POST': if request.META['HTTP_ACCEPT'] == 'application/json': items = request.POST.items() data = json.loads(items[0][0]) profile = ScraperProfile(name=data['name'], url=data['url'], template=data['template'], keywords_text=data['keywords'], user=request.user) profile.save() profile_dict = {'id': profile.pk, 'name': profile.name, 'url': profile.url, 'template': profile.template, 'keywords': profile.keywords} response = json.dumps(profile_dict) return HttpResponse(response, mimetype='application/json') else: form = ScraperProfileForm(request.POST) if form.is_valid(): data = form.data profile = ScraperProfile(name=data['name'], url=data['url'], template=data['template'], keywords_text=data['keywords'], user=request.user) profile.save() return redirect('scraper:home') else: pass return render_to_response('scraper/new_profile.html', {'form': form, 'action': 'create'}, context_instance=RequestContext(request))
def update_profile(request, profile_id): profile = ScraperProfile.objects.get(pk=profile_id) if request.method == 'GET': data = {'name': profile.name, 'url': profile.url, 'template': profile.template, 'keywords': profile.keywords_text} form = ScraperProfileForm(data) elif request.method == 'POST': form = ScraperProfileForm(request.POST) if form.is_valid(): data = form.data profile.name = data.name profile.url = data.url profile.template = data.template profile.keywords_text = data.keywords profile.save() return redirect('scraper:home') else: pass return render_to_response('scraper/new_profile.html', {'form': form, 'action': 'edit'}, context_instance=RequestContext(request))