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 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': '로그인 후 접근할 수 있는 페이지입니다.'})
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)
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 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 list(request): questions = Question.objects.all() context = { 'questions': questions, 'form': QuestionForm(), } return render(request, 'polls/list.html', context)
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' })
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 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))
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})
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')
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})
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 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)
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 get_question(request): print request.user form = QuestionForm(instance=Question.objects.all().last()) return render(request, 'question.html', {'form': form})
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})
def get_latest_question(request): form = QuestionForm(instance=Question.objects.all().latest("pub_date")) return render(request, 'question.html', {'form': form})
def get(self, request): #read - pokazuje o co prosimy form = QuestionForm() return render(request, template_name="my_name.html", context={"form": form})
def get(self, request): form = QuestionForm() return render(request, self.template_name, {'form': form})