관리 메뉴

Storage Gonie

18. (app1) POST 처리(form에서 버튼 클릭시 DB에 반영시키기) 본문

웹개발/Django 웹서비스 개발(인프런)

18. (app1) POST 처리(form에서 버튼 클릭시 DB에 반영시키기)

Storage Gonie 2019. 2. 9. 21:18
반응형

주제 : form에서 입력버튼 클릭시 DB에 반영시키기 및 redirect 시키기


1. views의 post메소드를 아래와 같이 수정한다.

def post(request):
if request.method == "POST": # html 코드 에서 지정가능
form = PostForm(request.POST)
if form.is_valid(): # form 객체의 속성을 사용자가 입력한 내용으로 교체한다.
lotto = form.save(commit = False) # PostFrom 클래스 내부의 Meta클래스에서 명명한 GuessNumbers 객체가 생성됨.(내부의 데이터가 아직 채워지지 않아 아직 DB에 반영을 안시킴)
lotto.generate() # generate함수 내에서 DB 반영을 시킴
return redirect('index') # urls에서 name속성에 맞는 쪽로 연결된다.
else:
form = PostForm()
return render(request, "lotto/form.html", {"form" : form})


2. redirect 모듈 또한 추가해준다.

from django.shortcuts import render, redirect


3. localhost:8000/lotto/new 에서 아무거나 입력후 입력버튼을 눌러보면 'index' name을 가지는 localhost:8000/lotto로 리다이렉트 되어지며 

    localhost:8000/admin에서 확인하면 DB에 들어간 것도 볼 수 있다.







반응형
Comments