Django : view 함수에서 Form, ModelForm 클래스의 인자 순서 차이

2024. 3. 30. 22:17코딩 교훈 기록

Form 클래스는 첫번째 인자로 request 를 받고 두번째 인자로 POST, GET 등이 해당하는 data 를 받는다.

반면, ModelForm 클래스는 첫번째 인자가 data 이다.

 

따라서 ModelForm 에 해당하는 AriticlesForm 등은 인자로 바로 request.POST 를 받을 수 있지만,

def login(request):
    if request.method == 'POST':
        form = ArticlesForm(request.POST)

 

일반 Form 클래스는 두번째 인자로 request.POST 를 받아야 한다.

def login(request):
    if request.method == 'POST':
        form = AuthenticationForm(request, request.POST)