예제 #1
0
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)
예제 #2
0
파일: views.py 프로젝트: crunlin/django1
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)
예제 #3
0
def updateqn(request, id):
    polls = Question.objects.get(id=id)
    form = QuestionForm(request.POST, instance = polls)
    if form.is_valid():
        form.save()
        return redirect('/polls/viewqn')
    return render(request, 'editqn.html', {'form': form})
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})
예제 #5
0
 def post(self, request):
     form = QuestionForm(request.POST)
     if form.is_valid():
         question_text = form.cleaned_data["question_text"]
         pub_date = form.cleaned_data["pub_date"]
         Question.objects.create(question_text=question_text,
                                 pub_date=pub_date)
         return HttpResponseRedirect(reverse("polls:my-questions"))
     return render(request,
                   template_name="my_name.html",
                   context={"form": form})
예제 #6
0
def new_question(request):
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            form.save()
            messages.success(request, "Question ajoutée")
        else:
            messages.error(request, "Formulaire invalide")
    else:
        messages.error(request, "Formulaire non trouvé")
    return redirect('polls:list')
예제 #7
0
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})
예제 #8
0
파일: views.py 프로젝트: stabone/papillon
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})
예제 #9
0
def get_question(request):
    form = QuestionForm(request.POST or None)
    if request.method == "POST":
        if form.is_valid():
            question_text = form.cleaned_data["question_text"]
            pub_date = form.cleaned_data["pub_date"]
            Question.objects.create(question_text=question_text,
                                    pub_date=pub_date)
            return HttpResponseRedirect(reverse("polls:question_form"))
    return render(request,
                  template_name="my_name.html",
                  context={"form": form})
예제 #10
0
 def post(self, request, *args, **kwargs):
     """
     Handles POST requests. Instantiates a form instance and its inline
     formsets with the passed POST inputs, then checks for
     validity.
     """
     self.object = None
     form = QuestionForm(self.request.POST)
     choice_form = ChoiceInlineFormSet(self.request.POST)
     if (form.is_valid() and choice_form.is_valid()):
         return self.form_valid(form, choice_form)
     else:
         return self.form_invalid(form, choice_form)
예제 #11
0
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)
예제 #12
0
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/')
예제 #13
0
파일: views.py 프로젝트: stabone/papillon
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})
예제 #14
0
파일: views.py 프로젝트: HaideiGV/mysite
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})
예제 #15
0
def list(request):
    questions = Question.objects.all()

    context = {
        'questions': questions,
        'form': QuestionForm(),
    }
    return render(request, 'polls/list.html', context)
예제 #16
0
파일: views.py 프로젝트: kostyaGL/kostyaGL
 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')
예제 #17
0
 def get(self, request, *args, **kwargs):
     """
     Handles GET requests. Instantiates blank versions of the form
     and its inline formsets.
     """
     self.object = None
     form = QuestionForm()
     choice_form = ChoiceInlineFormSet()
     return self.render_to_response(
         self.get_context_data(form=form, choice_form=choice_form))
예제 #18
0
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()
        }
    )
예제 #19
0
def registerQ(request):
    #로그인 여부를 체크하는 코드
    if 'loginstate' in request.session:
        if request.method == "GET":  #해당 뷰를 GET 방식으로 요청시(페이지 접근)
            #QuestionForm 객체를 생성 - HTML에서 form 태그 컨텐츠안에 넣으면 됨
            obj = QuestionForm()
            return render(request, 'polls/registerQ.html', {'form': obj})
        else:  #해당 뷰를 POST방식으로 요청시
            #request.POST.get("") form내에 있는 특정 변수값을 가져올때
            #request.POST form내에 있는 모든 값을 사용
            #POST방식으로 온 데이터를 QuestionForm에 삽입
            obj = QuestionForm(request.POST, request.FILES)
            #obj.is_valid() : 사용자가 <form>에 있는 양식을 잘 작성했는지 확인(True,False)
            if obj.is_valid():  #값이 유효한가?
                #obj.save() : QuestionForm을 Question 객체로 변환 후,데이터베이스에 저장
                #obj.save(commit = False) : QuestionForm을 Question객체로 변환
                user = get_object_or_404(CustomUser,
                                         pk=request.session['username'])

                question = obj.save(commit=False)
                question.pub_date = datetime.now()
                question.customuser = user  #CustomUser 객체를 매칭
                question.save()  #데이터베이스에 반영
                return HttpResponseRedirect(reverse('polls:index'))
            else:  #값이 유효하지 않을때 처리
                return render(request, 'polls/registerQ.html', {
                    'form': obj,
                    'error_message': "비정상적인 값입니다."
                })
    else:  #세션에 loginstate값이 없는 경우(비로그인 상태)
        return render(request, 'polls/error.html',
                      {'error': '로그인 후 접근할 수 있는 페이지입니다.'})
예제 #20
0
 def post(self, request):
     form = QuestionForm(request.POST)
     if form.is_valid():
         question = form.save(commit=false)
         text = form.cleaned_data['question']
         form = QuestionForm()
         #return redirect('polls:polls')
     args = {'form': form, 'text': text}
     return render(request, self.template_name, args)
예제 #21
0
파일: views.py 프로젝트: 2044smile/mypolls
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,
    })
예제 #22
0
def add(request):
    # Implementamos el flujo GET
    if request.method == 'GET':
        # Creamos el formulario para preguntas
        form = QuestionForm()
        # Renderizamos el add.html con el formulario limpio
        return render(request, 'polls/add.html', {'form': form})
    # Implementamos el flujo POST
    elif request.method == 'POST':
        # Cargamos los datos posteados en un formulario
        form = QuestionForm(request.POST)
        # Guardamos los datos
        form.save()
        # Renderizamos el add.html con el formulario limpio y un mensaje de éxito
        return render(request, 'polls/add.html', {
            'form': QuestionForm(),
            'message': 'Datos guardados correctamente'
        })
예제 #23
0
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})
예제 #24
0
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': '로그인 후 접근할 수 있는 페이지입니다.'})
예제 #25
0
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()
        })
예제 #26
0
def get_question(request):
    print request.user
    form = QuestionForm(instance=Question.objects.all().last())
    return render(request, 'question.html', {'form': form})
예제 #27
0
def create_question(request):
    question = Question.objects.get_or_create(question_text='hello')[0]
    form = QuestionForm(instance=question)
    return render(request, 'question.html', {'form': form})
예제 #28
0
def get_latest_question(request):
    form = QuestionForm(instance=Question.objects.all().latest("pub_date"))
    return render(request, 'question.html', {'form': form})
예제 #29
0
 def get(self, request):
     form = QuestionForm()
     return render(request, self.template_name, {'form': form})
예제 #30
0
 def get(self, request):  #read - pokazuje o co prosimy
     form = QuestionForm()
     return render(request,
                   template_name="my_name.html",
                   context={"form": form})