Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 봉사활동
- jaypark.dating
- 서구동구예비군훈련장
- 프로그라피
- Xangle
- 로그남기기
- texttospeech
- 프로그래머스
- 타코트론
- 개발자를위한파이썬
- 놀이동산의슈퍼컴퓨터를작동시켜라
- 쇠막대기
- 2019회고
- 서버로그
- 인하대학교
- 결과를얻는법
- 한빛미디어
- 우분투비트확인
- 개발자회고
- 인천남중
- intell
- 인하멘토링
- 신영준
- 나는리뷰어다
- 심플소프트웨어
- 노트북덮개
- CrossAngle
- graphicdriver
- machinelearning
- tacotron
Archives
- Today
- Total
jc.jang
7강 회원가입과 동시에 로그인하기 본문
주제
- 회원가입과 동시에 로그인하기
노트
- 회원가입 후 로그인하는 행위는 아이디/비밀번호 입력이 중복된다.
- 회원가입과 동시에 로그인을 해주면 편하다.
- django/contrib/auth/views.py - LoginView class가 있다.
- form_valid 메소드에서 auth_login을 사용한다.
- django/contrib/auth/__init__.py - logon method가 있다.
- 이를 이용해 회원가입과 동시에 로그인을 해보자.
- 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
'Django > Django - 인증편' 카테고리의 다른 글
9강 로그인 아이디로 이메일 사용하기 (1) | 2019.09.02 |
---|---|
8강 회원가입 시 next 인자 처리하기 (0) | 2019.09.02 |
6강 가입과 동시에 Profile만들기 (1) | 2019.08.29 |
5강 회원가입 (4) | 2019.08.29 |
4강 로그아웃 구현하기 (0) | 2019.08.28 |
Comments