def problem_new(request): if request.method == 'POST': form = ProblemForm(request.POST, request.FILES) if form.is_valid(): problem = Problem() problem.title = form.cleaned_data['title'] testcases = form.files.getlist('testcases') problem.testcase = len(testcases)/2 problem.save() tc = JUDGE_ROOT+'/testcase/{}'.format(problem.pk) if not os.path.exists(tc): os.makedirs(tc) for f in testcases: with open('{}/{}'.format(tc, f.name), 'wb+') as dest: for chunk in f.chunks(): dest.write(chunk) return redirect('judge:problem_list') else: form = ProblemForm() return render(request, 'judge/problem_new.html', {'form': form})