def get_question(request): # if this is a POST request we need to process the form data if request.method == 'POST': # create a form instance and populate it with data from the request: form = QuestionForm(request.POST) # check whether it's valid: if form.is_valid(): question_body = request.POST.get('your_question', '') new_question = Question(question_text=question_body, pub_date=timezone.now()) new_question.save() characters = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w', 'x','y','z'] for i in range(0, 5): answer_text = 'your_answer_' + characters[i] new_answer = request.POST.get(answer_text, '') if new_answer != '': new_choice = Choice(question=new_question, choice_text=new_answer, votes=0) new_choice.save() # process the data in form.cleansed_data as required # ... # redirect to a new URL: return HttpResponseRedirect('/polls/') # if a GET (or any other method) we'll create a blank form else: form = QuestionForm() return render(request, 'polls/question.html', {'form': form})
def add_question(request): # Get the context from the request. context = RequestContext(request) # A HTTP POST? if request.method == 'POST': question_form = QuestionForm(request.POST) #choice_form = ChoiceForm(request.POST,question_form) # Have we been provided with a valid form? if question_form.is_valid(): # and choice_form.is_valid(): # Save the new category to the database. question_form.save(commit=True) #choice_form.save(commit=True) # Now call the index() view. # The user will be shown the homepage. return HttpResponseRedirect('/polls/') else: # The supplied form contained errors - just print them to the terminal. print question_form.errors#,choice_form.errors else: # If the request was not a POST, display the form to enter details. # form = QuestionForm() question_form = QuestionForm() choice_form = ChoiceForm() # Bad form (or form details), no form supplied... # Render the form with error messages (if any). return render_to_response('polls/add_question.html', {'question_form': question_form }, context)
def ask(request): user = get_authenticate_user(request) context = {'user': user} form = QuestionForm() if request.method == 'POST': form = QuestionForm(request.POST) if form.is_valid(): question = Question.objects.create( author=user, title=form.cleaned_data.get('title'), content=form.cleaned_data.get('content'), created=datetime.now() ) tags = form.cleaned_data.get('tags').split(',') for tag in tags: try: if ' ' in tag: tag = tag.replace(' ', '_') t = Tag.objects.get(title=tag) except Tag.DoesNotExist: t = Tag.objects.create(title=tag) t.save() question.tags.add(t) question.save() return HttpResponseRedirect('/question/' + str(question.id)) context.update({'form': form}) return render(request, 'ask.html', context)
def question_create(request): if request.method == 'GET': return redirect(reverse_lazy('question_list')) poll_id = request.POST.get('poll') question_form = QuestionForm(request.POST) if question_form.is_valid(): question_form.save() return redirect(reverse_lazy('poll_item', args=[poll_id])) return render(request, 'question/form.html', {'form': question_form})
def add_question(request): if request.method == 'POST': form = QuestionForm(data=request.POST, user=request.user) if form.is_valid(): form.save(commit=True) return HttpResponseRedirect('/polls/') #return IndexView(request) else: print form.errors else: form = QuestionForm(user=request.user); return render(request, 'polls/add_question.html',{'form': form})
def question_update(request): if request.method == "POST": question_id = request.POST.get('record', '') poll_id = request.POST.get('poll') info = get_object_or_404(Questions, id=question_id) question_form = QuestionForm(request.POST, instance=info) if question_form.is_valid(): question_form.save() return redirect(reverse_lazy('poll_item', args=[poll_id])) return render(request, 'question/form.html', {'form': question_form})
def ask_question(req): if req.user.is_authenticated: if req.method == 'POST': form = QuestionForm(req.POST,profile=req.user.profile) if form.is_valid(): form.save() render_to = req.GET.get('next') return HttpResponseRedirect(render_to) else: form = QuestionForm() return render(req,'q.html', {'form':form}) else: render_to = req.GET.get('next') return HttpResponseRedirect(render_to)
def create(request): if request.method == 'POST': # form 에서 요청이 POST로 오면 form = QuestionForm(request.POST) if form.is_valid(): q = form.save(commit=False) q.author = request.user q.pub_date = timezone.now() q.save() return redirect('polls:index') else: # form 에서 요청이 GET으로 오면 아래 form 형식을 출력하여 사용자가 입력하게끔 form = QuestionForm() return render(request, 'polls/create.html', { 'form': form, })
def add_poll(request): if request.user.is_authenticated(): if request.method == "POST": form = QuestionForm(request.POST) if form.is_valid(): form.save(commit=True) return index(request) else: print form.errors else: form = QuestionForm return render(request, 'polls/add_poll.html', {'form':form}) else: return HttpResponseRedirect('/polls/')
def contact(request): form = QuestionForm(request.POST or None) title = "Contact form" confirm_message = None if form.is_valid(): name = form.cleaned_data["name"] subject = form.cleaned_data["subject"] emailFrom = form.cleaned_data["email"] emailTo = [settings.EMAIL_HOST_USER] send_mail(name, subject, emailFrom, emailTo, fail_silently=True) title = "Thanks!" confirm_message = "Thanks for sending message!" form = None # context = {'title':title, 'confirm_message':confirm_message, 'form':form} template = "polls/contact.html" return render(request, template, {"title": title, "confirm_message": confirm_message, "form": form})
def post(request): if request.method == 'POST': question_form = QuestionForm(request.POST) choice_form = ChoicesForm(request.POST) if all([question_form.is_valid(), choice_form.is_valid()]): question = Question( question_text=question_form.cleaned_data['question_text'], pub_date=timezone.now()) question.save() choices = request.POST.getlist('choices_text') for choice in choices: question.choices_set.create( choices_text=choice, votes=0) return HttpResponse("saved") else: return HttpResponse('f**k')
def pollqn(request): if request.method == "POST": print("POST4") form = QuestionForm(request.POST) #print(form.cleaned_data['question_text']) print("POST3") if form.is_valid(): print("POST1") try: form.save() print("POST2") return redirect('/polls/viewqn') except: pass else: print("GET") form = QuestionForm() return render(request,'indexqn.html',{'form':form})
def edit_questions(request, poll_name): """ Editing form and handler for adding new questions. """ poll = Poll.objects.get(url=poll_name) ChoiceForms = inlineformset_factory(Question, Choice, fields=('value',)) if request.method == 'POST': form = QuestionForm(request.POST) if form.is_valid(): q = form.save(commit=False) cf = ChoiceForms(request.POST, instance=q) if cf.is_valid(): q.save() cf.save() QLink.objects.create( poll=poll, question=q ) return redirect('poll-edit-questions', poll.url) else: cf = ChoiceForms() else: form = QuestionForm() cf = ChoiceForms() return render( request, 'polls/poll/questions.html', { 'poll': poll, 'questions': poll.questions_in_order().all(), 'form': form, 'choice_forms': cf, 'old_questions': Question.objects.all() } )
def registerQ(request): if request.session['loginstate'] == True: if request.method =="GET": obj = QuestionForm() return render(request, 'polls/registerQ.html', {'form' : obj }) else: obj = QuestionForm(request.POST,request.FILES) if obj.is_valid(): user = get_object_or_404(CustomUser, pk = request.session['username']) question = obj.save(commit=False) question.pub_date = datetime.now() question.customuser = user question.save() return HttpResponseRedirect(reverse('polls:index')) else: return render(request, 'polls/registerQ.html', {'form' : obj, 'error_message' : "비정상적인 값입니다."}) else: return render(request,'polls/error.html', {'error': '로그인 후 접근할 수 있는 페이지입니다.'})
def edit_questions(request, poll_name): """ Editing form and handler for adding new questions. """ poll = Poll.objects.get(url=poll_name) ChoiceForms = inlineformset_factory(Question, Choice, fields=('value', )) if request.method == 'POST': form = QuestionForm(request.POST) if form.is_valid(): q = form.save(commit=False) cf = ChoiceForms(request.POST, instance=q) if cf.is_valid(): q.save() cf.save() QLink.objects.create(poll=poll, question=q) return redirect('poll-edit-questions', poll.url) else: cf = ChoiceForms() else: form = QuestionForm() cf = ChoiceForms() return render( request, 'polls/poll/questions.html', { 'poll': poll, 'questions': poll.questions_in_order().all(), 'form': form, 'choice_forms': cf, 'old_questions': Question.objects.all() })