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
- 쇠막대기
- 나는리뷰어다
- machinelearning
- 로그남기기
- 신영준
- 타코트론
- 놀이동산의슈퍼컴퓨터를작동시켜라
- 봉사활동
- 개발자회고
- intell
- graphicdriver
- CrossAngle
- jaypark.dating
- 우분투비트확인
- 서구동구예비군훈련장
- 2019회고
- 개발자를위한파이썬
- 프로그라피
- 인하멘토링
- 결과를얻는법
- 한빛미디어
- 프로그래머스
- texttospeech
- Xangle
- 인하대학교
- tacotron
- 서버로그
- 인천남중
- 심플소프트웨어
- 노트북덮개
Archives
- Today
- Total
jc.jang
8강 회원가입 시 next 인자 처리하기 본문
주제
- 회원가입 시 next 인자 처리하기
- 로그인, 로그아웃 시 next 인자를 통해 이동할 페이지를 설정할 수 있다.
노트
- next인자가 있으면 그 곳으로 이동, 없으면 profile로 이동
- accounts/views.py
def signup(request):
if request.method == "POST":
form = SignupForm(request.POST)
if form.is_valid():
user = form.save()
auth_login(request, user)
next_url = request.GET.get('next') or 'profile'
return redirect(next_url)
else:
form = SignupForm()
return render(request, 'accounts/signup.html', {
'form': form,
})
- request.GET.get('next')로 next인자의 값을 가져온다. next 인자가 없을 경우 'profile'로 설정한다.
- django/http/request.py에 HttpRequest class를 확인하면 request에서 어떠한 정보를 가져오는지 확인할 수 있다.
- 혹은 vscode의 디버그를 이용해 '변수'창에서 확인 가능!
- QueryDict은 <QueryDict: {'next':['']}> 이런식으로 값을 가져오고 request.GET.get('key')로 값을 가져오면 해당 key가 없어도 에러가 발생하지 않는다.
- accounts/views.py
class SignupView(CreateView):
model = User
form_class = SignupForm
template_name = 'accounts/signup.html'
def get_success_url(self):
next_url = self.request.GET.get('next') or 'profile'
return resolve_url(next_url)
def form_valid(self, form):
user = form.save()
auth_login(self.request, user)
return redirect(self.get_success_url())
signup = SignupView.as_view()
- 같은 코드를 cbv로 구현
요약
- next인자를 지정하여 로그인, 로그아웃 시 이동할 페이지를 설정할 수 있다.
- 'request'를 통해 get,post인자를 포함한 여러가지 정보를 받아 올 수 있다.
날짜
- 오후 5시 30분, 20190902
'Django > Django - 인증편' 카테고리의 다른 글
10강 가입환영 이메일 보내기 (0) | 2019.09.03 |
---|---|
9강 로그인 아이디로 이메일 사용하기 (1) | 2019.09.02 |
7강 회원가입과 동시에 로그인하기 (0) | 2019.09.02 |
6강 가입과 동시에 Profile만들기 (1) | 2019.08.29 |
5강 회원가입 (4) | 2019.08.29 |
Comments