def ask(request): if request.method == 'POST': form = QuestionForm(request.user.profile, data=request.POST) if form.is_valid(): q = form.save() return redirect(reverse('question', kwargs={'qid': q.id})) return render(request, 'ask.html', tags_and_users)
def ask(request): if request.method == "GET": form = QuestionForm() else: form = QuestionForm(data=request.POST) if form.is_valid(): tags = form.cleaned_data["tag"].split(" ") text = form.cleaned_data["text"] title = form.cleaned_data["title"] question = Question.objects.create(author=request.user, text=text, title=title) tags_list = list() for tag_name in tags: try: tag = Tag.objects.get(name=tag_name) except Tag.DoesNotExist: tag = Tag.objects.create(name=tag_name) tags_list.append(tag) question.tags.set(tags_list) question.save() return redirect(reverse("question", kwargs={"qid": question.pk})) return render(request, "ask.html", { "form": form, })
def question_new(request): message = "" if request.method == "POST": form = QuestionForm(request.POST) minNumChoices = 2 maxNumChoices = 4 validNumChoices = int( request.POST["num_choices"]) >= minNumChoices and int( request.POST["num_choices"]) <= maxNumChoices validCorrectChoice = int(request.POST["correct_choice"]) >= 1 and int( request.POST["correct_choice"]) <= int(request.POST["num_choices"]) if not validNumChoices: message = "El número de respuestas debe ser entre " + str( minNumChoices) + " y " + str(maxNumChoices) elif not validCorrectChoice: message = "El número de la respuesta correcta debe estar entre 1 y " + request.POST[ "num_choices"] elif form.is_valid(): question = form.save(commit=False) question.pub_date = datetime.now() question.save() message = "Pregunta añadida!" #return redirect('detail', pk=question_id) #return render(request, 'polls/index.html', {'title':'Respuestas posibles','question': question}) else: form = QuestionForm() return render(request, 'polls/question_new.html', { 'form': form, 'message': message })
def apply(request): if request.method == "POST": form = QuestionForm(request.POST, request.FILES) if form.is_valid(): form.save() return redirect('app:index') else: form = QuestionForm() return render(request, 'app/apply.html', {'form': form})
def question_new(request): if request.method == "POST": form = QuestionForm(request.POST) if form.is_valid(): question = form.save(commit=False) question.pub_date=datetime.now() question.save() else: form = QuestionForm() return render(request, 'polls/question_new.html', {'form': form})
def question_new(request): if request.method == "POST": form = QuestionForm(request.POST) if form.is_valid(): question = form.save(commit=False) question.pub_date = datetime.now() question.save() #return redirect('detail', pk=question_id) #return render(request, 'polls/index.html', {'title':'Respuestas posibles','question': question}) else: form = QuestionForm() return render(request, 'polls/question_new.html', {'form': form})
def home(request): if request.method == 'POST': form = QuestionForm(request.POST) if form.is_valid(): form.save() return redirect(home) else: form = QuestionForm() questions = Question.objects.all() return render(request, 'home.html', { 'questions': questions, 'form': form, })
def new_question(request): if request.method == 'POST': form = QuestionForm(data=request.POST, profile=request.user.profile) if form.is_valid(): question = form.save() return redirect(reverse('question', kwargs={'id': question.id})) else: form = QuestionForm(None) return render(request, 'new_question_page.html', { 'title': 'New question', 'form': form })
def question_new(request): if request.method == "POST": form = QuestionForm(request.POST) if form.is_valid(): question = form.save(commit=False) question.pub_date=datetime.now() question.save() #return redirect('detail', pk=question_id) #return render(request, 'polls/index.html', {'title':'Respuestas posibles','question': question}) else: form = QuestionForm() return render(request, 'polls/question_new.html', { 'form': form, 'title' : 'Pagina para añadir un apregunta', 'message' : 'Pregunta lo que sea.', 'year' : datetime.now().year})
def ask(request): tags = Tag.objects.get_popular() if request.method == "GET": form = QuestionForm() else: form = QuestionForm(data=request.POST) if form.is_valid(): question = Question.objects.create( author=request.user.profile, title=form.cleaned_data['title'], text=form.cleaned_data["text"]) return redirect(reverse('question', kwargs={'qid': question.pk})) return render(request, 'ask.html', { 'form': form, 'user': request.user, 'tags': tags, })
def question_view(request): """ Shows a next question to the user and manages the answers. Checks for an ongoing exam and picks a question from the list. Answers are checked and user's score is adjusted accordingly. name: exam:question URL: /exam/question/ """ exam_id = request.session.get('exam_id') if exam_id is None: return redirect('exam:list') exam = Exam.objects.get(id=exam_id) question_id = ( request.session['questions'][request.session['current_question']]) question = Question.objects.get(id=question_id) answers = question.answers.all() form = QuestionForm(request.POST or None, question_type=question.type, answer_choices=[(ans.id, ans.text) for ans in answers]) if form.is_valid(): score_change = AnswerScore.get_rating_change( question=question, answer_choices=answers, answer=form.cleaned_data['answer'], user_rating=request.user.userx.rating) request.user.userx.rating += score_change question.rating -= score_change request.user.userx.save() question.save() request.session['current_question'] += 1 if request.session['current_question'] >= exam.num_questions: return redirect('exam:finished') else: return redirect('exam:question') return render( request, 'exam/question.html', { 'exam_name': exam.name, 'question': question, 'form': form, 'question_no': request.session['current_question'], 'num_questions': exam.num_questions })
def add_question(request): best_members = UserProfile.objects.best_members() popular_tags = Tag.objects.popular_tags() if request.method == 'GET': form = QuestionForm() else: form = QuestionForm(data=request.POST) if form.is_valid(): question = Question.objects.create( author=request.user.userprofile, title=form.cleaned_data['title'], text=form.cleaned_data['text']) tags = form.cleaned_data['tags'] question.tags.set(tags) question.save() return redirect( reverse('one_question', kwargs={'num_quest': question.pk})) return render(request, 'add_question.html', { 'form': form, 'popular_tags': popular_tags, 'best_members': best_members })