반응형
2023.08.11 - 장고 (django) - LoginView, LogoutView, LoginRequireMixin 설정하기
로그인 관련해서는 위에 글 참고!
1. 기본적인 회원 가입 화면 생성
1) views.py
def register(request):
if request.method=='POST':
form = UserCreationForm(request.POST)
if form.is_valid():
form.save()
form = UserCreationForm()
context = {'form':form}
return render(request, 'accounts/register.html', context)
2) urls.py
from django.urls import path
from . import views
urlpatterns= [
path('register/', views.register, name='register'),
]
3) templates > accounts> register.html
<form method="POST">
{{ form.as_p }}
{% csrf_token %}
<input type="submit" value="가입하기">
</form>
*화면
- 기본적으로 username과 pawword 입력 및 확인하는 칸이 제공됨
2. UserCreationForm 으로 커스텀하기
1) forms.py
- fields에 사용하고 싶은 필드 작성
from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
class NewUserForm(UserCreationForm):
class Meta:
model = User
fields = ['username','first_name','last_name','email','password1','password2']
2) views.py 수정
위에 작성한 forms의 NewUserForm을 import 해주고, UserCreationForm을 NewUserForm으로 수정
def register(request):
if request.method=='POST':
form = NewUserForm(request.POST)
if form.is_valid():
form.save()
form = NewUserForm()
context = {'form':form}
return render(request, 'accounts/register.html', context)
*화면
- 기본 필드외에 first_name, last_name, email이 추가된것을 확인할 수 있음
반응형
'Today I Learned > django' 카테고리의 다른 글
장고 django ForeignKey (1:N 관계) (0) | 2023.09.26 |
---|---|
장고 (djagno) Rest framework tutorial #2 데이터 보내기(POST) (0) | 2023.09.11 |
장고 asgi(비동기) 채팅기능 구현하기 (2) | 2023.09.06 |
장고 (djagno) Rest framework tutorial #1 데이터 가져오기 (GET) (0) | 2023.09.05 |
장고 (django) 캐시 사용하기 (redis) (0) | 2023.09.01 |