29번째 줄: |
29번째 줄: |
| ===view 작성=== | | ===view 작성=== |
| <syntaxhighlight lang="python"> | | <syntaxhighlight lang="python"> |
| + | from django.contrib.auth import authenticate, login |
| + | from django.shortcuts import render, redirect |
| + | from .forms import User_create_form |
| + | |
| def signup(request): | | def signup(request): |
| if request.method == "POST": | | if request.method == "POST": |
| form = User_create_form(request.POST) | | form = User_create_form(request.POST) |
| if form.is_valid(): | | if form.is_valid(): |
− | form.save() # 폼값을 불러와 저장. | + | form.save() # 폼값을 불러와 저장.(회원객체가 생긴다.) |
| username = form.cleaned_data.get('identifier') | | username = form.cleaned_data.get('identifier') |
| raw_password = form.cleaned_data.get('password1') | | raw_password = form.cleaned_data.get('password1') |
| user = authenticate(username=username, password=raw_password) | | user = authenticate(username=username, password=raw_password) |
| login(request, user) | | login(request, user) |
− | return redirect('account:main') # 회원가입 후 어디로 돌릴지. 보고 있던 페이지로는 안되나;;? | + | return redirect('main') # 회원가입 후 어디로 돌릴지. |
| else: | | else: |
| form = User_create_form() | | form = User_create_form() |
− | return render(request, 'account/signup.html', {'form': form}) | + | return render(request, 'custum_account/signup.html', {'form': form}) |
| </syntaxhighlight>한꺼번에 form을 저장하는 게 아니라 굳이 개별값을 얻고 싶을 땐 <code>form.cleaned_data.get('속성')</code>을 이용한다. 속성엔 탬플릿 해당 폼의 name에 담긴 것을 쓰면 된다. | | </syntaxhighlight>한꺼번에 form을 저장하는 게 아니라 굳이 개별값을 얻고 싶을 땐 <code>form.cleaned_data.get('속성')</code>을 이용한다. 속성엔 탬플릿 해당 폼의 name에 담긴 것을 쓰면 된다. |
| ===template 작성=== | | ===template 작성=== |