def dress_new(request): if request.method=='POST': try: id = int(request.session[new_dress_key]) dress = Tournament.objects.get(pk=id) except: raise Http404 form = DressForm(count=len(request.FILES), data=request.POST, files=request.FILES) if form.is_valid(): dress = form.save(request.FILES, dress) request.session[new_dress_key] = None return redirect(dress) else: form.save_photos(dress) else: if new_dress_key in request.session.keys(): try: id = int(request.session[new_dress_key]) dress = Tournament.objects.get(pk=id) if not dress.confirmed: dress.delete() except: pass dress = Tournament() dress.confirmed = False dress.date = datetime.datetime.now() dress.access_key = ''.join(random.choice(string.letters) for i in xrange(DressForm.ACCESS_KEY_LENGTH)) dress.save() request.session[new_dress_key] = dress.id form = DressForm() if settings.DEBUG: form.load_test_data() return render_to_response('dress_edit.html', {'form':form, 'is_new':True, 'dress': dress}, context_instance=RequestContext(request))