def ask(request): error = True if request.method == 'POST': firstly = False form = AskForm(request.POST) if form.is_valid(): ques = models.Question.objects.create( author=request.user, create_date=timezone.now(), is_active=True, title=form.cleaned_data['title'], text=form.cleaned_data['text']) ques.save() for tagTitle in form.cleaned_data['tags'].split(): tag = models.Tag.objects.get_or_create(title=tagTitle)[0] ques.tags.add(tag) ques.save() #return question(request, ques.id) return redirect('/question/{}/'.format(ques.id)) else: error = False else: form = AskForm() firstly = True return render( request, 'new_ask.html', { 'firstly': firstly, 'error': error, 'form': form, 'tags': paginate(request, models.Tag.objects.hottest())[:10], 'users': paginate(request, models.CustomUser.objects.by_rating())[:10], })
def ask(request): form = AskForm(request.POST or None) if request.method == "POST": if form.is_valid(): q_id = form.save(request.user) return redirect(resolve_url('question', question_id=q_id)) return render(request, 'ask.html', {'form': form})
def test_number_of_tags(self): data = {"title": "title", "content": "content", "tags": "tags"} form = AskForm(data) self.assertTrue(form.is_valid()) data["tags"] = random_tags(settings.QUESTIONS_MAX_NUMBER_OF_TAGS + 1) form = AskForm(data) self.assertFalse(form.is_valid()) self.assertIn("tags", form.errors) data["tags"] = ["aaa"] * (settings.QUESTIONS_MAX_NUMBER_OF_TAGS + 1) form = AskForm(data) self.assertTrue(form.is_valid())
def ask(request): if request.method == "POST": form = AskForm(request.user, request.POST) if form.is_valid(): question = form.save() return HttpResponseRedirect('/question/' + str(question.pk)) else: form = AskForm(request.user) return render(request, 'questions/ask.html', { 'form': form, })
def ask(request): if request.method == 'POST': form = AskForm(request.POST, Profile.objects.get(id=request.user.id)) if form.is_valid(): new_question = form.save() return redirect('question', new_question.id) else: form = AskForm() context = {'form': form} context = add_user(request, context) return render(request, 'ask.html', context)
def ask(request): if request.POST: form = AskForm(request.user.profile, data=request.POST) if form.is_valid(): question = form.save() return redirect( reverse('question', kwargs={'question_id': question.pk})) else: form = AskForm(request.user.profile) context = {'form': form} return render(request, 'ask.html', context)
def ask(request): context = init(request, 'Ask') if request.method == 'POST': form = AskForm(request.POST) if form.is_valid(): id = form.save(context['user']) print(request.POST['tags']) return HttpResponseRedirect(reverse('question', args=[id])) else: form = AskForm() context['form'] = form return render(request, 'ask.html', context)
def test_invalid_form(self): for case in self.invalid_cases: with self.subTest(case=case): form = AskForm(data=case._asdict()) self.assertFalse(form.is_valid())