Exemple #1
0
    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})
Exemple #2
0
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 })
Exemple #3
0
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)
Exemple #4
0
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)