def post(self, request): try: profile = Profile.objects.get(user=request.user) except Profile.DoesNotExist: profile = Profile(user=request.user) form = QuestionForm(data=request.POST, user=profile) if form.is_valid(): form.save() form.save_m2m() return HttpResponseRedirect("../question/" + str(Question.objects.latest('id').id)) return render(request, 'ask.html', {'form': form})
def ask(request): if request.POST: form = QuestionForm(request.POST, author=request.user) if form.is_valid(): question = form.save() tag = request.POST.get('tags') for word in tag.split(" "): t = Tag(name = word) t.save() t.question.add(question) return redirect('/') form = QuestionForm() return render(request, 'ask.html', { 'form' : form })
def add_question(request): if request.method == "POST": form = QuestionForm(request.POST) if form.is_valid(): # плохой, потмоу что появляется cleaned_data - неявно меняет состояние элемента q = form.save() q = Question.objects.get(pk=q.pk) q.author = request.user q.save() return redirect('/question/?id=' + str(q.pk)) else: form = QuestionForm() # unbound form context = { 'form': form, } return render(request, 'ask.html', context)
def ask(request): top_tags = get_popular_tags() best_members = get_best_members() if request.method == 'POST': form = QuestionForm(request.user, request.POST) if form.is_valid(): form.clean_tags_names() _question = form.save() return redirect('question', _question.pk) else: form = QuestionForm(request.user) context = { 'top_tags': top_tags, 'best_members': best_members, 'form': form, } return render(request, 'ask.html', context)