jc.jang

7강 회원가입과 동시에 로그인하기 본문

Django/Django - 인증편

7강 회원가입과 동시에 로그인하기

jangstory 2019. 9. 2. 16:27

주제

  • 회원가입과 동시에 로그인하기

노트

 

  • accounts/views.py
from django.contrib.auth import login as auth_login


def signup(request):
    if request.method == "POST":
        form = SignupForm(request.POST)
        if form.is_valid():
        	# 유효성 검사 확인 후 로그인한다.
            user = form.save()
            auth_login(request, user)
            return redirect('profile')
    else:
        form = SignupForm()
    return render(request, 'accounts/signup.html', {
        'form': form,
    })
  • form.is_valid를 통과하면 form.save로 유저를 가져온다.
  • auth_login 함수를 이용해 로그인한다.

 

  • accounts/views.py
from django.contrib.auth import login as auth_login


class SignupView(CreateView):
    model = User
    form_class = SignupForm
    template_name = 'accounts/signup.html'
    
    def get_success_url(self):
        return resolve_url('profile')

    def form_valid(self, form):
        user = form.save()
        auth_login(self.request, user)
        return redirect(self.get_success_url())
  • class based view도 마찬가지로 form_valid에서 유저를 가져와서 로그인한다.

질문

  •  django에서 login을 어떻게 하는건지 궁금했는데 코드를 봐도 아직은 잘 모르겠다.

요약

  • django.contrib.auth의 login으로 로그인을 할 수 있다.

날짜

  • 오후 4시, 20190902

 

Comments