Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .DS_Store
Binary file not shown.
Binary file modified accounts/__pycache__/admin.cpython-311.pyc
Binary file not shown.
Binary file modified accounts/__pycache__/urls.cpython-311.pyc
Binary file not shown.
Binary file modified accounts/__pycache__/views.cpython-311.pyc
Binary file not shown.
2 changes: 0 additions & 2 deletions accounts/admin.py
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
from django.contrib import admin

# Register your models here.
83 changes: 71 additions & 12 deletions accounts/views.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,80 @@
from django.contrib.auth.models import User
from django.shortcuts import render, redirect
from django.contrib.auth import login, logout, authenticate
from django.contrib.auth import get_user_model

User = get_user_model()


def signup_view(request):
# GET 요청 시 HTML 응답
if request.method == 'GET':
return render(request, 'accounts/signup.html')
else:
if request.method == 'POST':
nickname = request.POST.get('nickname')
email = request.POST.get('email')
password = request.POST.get('password')

# 데이터 유효성 검사
if not nickname or not email or not password:
error_message = '모든 필드를 입력해주세요.'
return render(request, 'accounts/signup.html', {'error_message': error_message})

# 사용자 이름, 이메일 데이터 중복 확인
if User.objects.filter(nickname=nickname).exists():
error_message = '사용 불가능한 닉네임입니다.'
return render(request, 'accounts/signup.html', {'error_message': error_message})
if User.objects.filter(email=email).exists():
error_message = '사용 불가능한 이메일입니다.'
return render(request, 'accounts/signup.html', {'error_message': error_message})

# 데이터 저장
user = User.objects.create_superuser(nickname=nickname, password=password, email=email)
user.save()

# 회원가입 후 로그인
user.backend = 'django.contrib.auth.backends.ModelBackend'
login(request, user)

# 리다이렉트
return redirect('accounts:signup')
return redirect('accounts:login')

# GET 요청 시 HTML 응답
return render(request, 'accounts/signup.html')

def login_view(request):
# GET, POST 분리
if request.method == 'GET':
# 로그인 HTML 응답
return render(request, 'accounts/login.html')
else:
pass
if request.method == 'POST':
email = request.POST.get('email')
password = request.POST.get('password')

# 이메일, 비밀번호 유효성 검사
if not email:
error_message = '이메일을 입력해주세요.'
return render(request, 'accounts/login.html', {'error_message': error_message})
if not password:
error_message = '비밀번호를 입력해주세요.'
return render(request, 'accounts/login.html', {'error_message': error_message})

# 사용자 인증
user = authenticate(request, email=email, password=password)

if user is not None:
# 사용자 인증 성공 시 로그인
user.backend = 'django.contrib.auth.backends.ModelBackend'
login(request, user)
# 리다이렉트
return redirect('main')
else:
# 사용자 인증 실패 시 에러 처리
error_message = '이메일 또는 비밀번호가 올바르지 않습니다.'
return render(request, 'accounts/login.html', {'error_message': error_message})

# 로그인 HTML 응답
return render(request, 'accounts/login.html')

def logout_view(request):
# 로그인일 때
pass
# 데이터 유효성 검사
# 로그인일 때
if request.user.is_authenticated:
# 로그아웃 로직 처리
logout(request)
# 리다이렉트
return redirect('accounts:login')
Binary file removed db.sqlite3
Binary file not shown.
Binary file modified informationPost/__pycache__/admin.cpython-311.pyc
Binary file not shown.
Binary file added informationPost/__pycache__/form.cpython-311.pyc
Binary file not shown.
Binary file modified informationPost/__pycache__/models.cpython-311.pyc
Binary file not shown.
Binary file added informationPost/__pycache__/urls.cpython-311.pyc
Binary file not shown.
Binary file added informationPost/__pycache__/views.cpython-311.pyc
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified lisamate/__pycache__/settings.cpython-311.pyc
Binary file not shown.
Binary file modified lisamate/__pycache__/urls.cpython-311.pyc
Binary file not shown.
Binary file modified lisamate/__pycache__/views.cpython-311.pyc
Binary file not shown.
10 changes: 8 additions & 2 deletions lisamate/settings.py → lisamate/settings2.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
'django.contrib.staticfiles',
'informationPost',
'users',
'accounts'
'accounts',
]

MIDDLEWARE = [
Expand Down Expand Up @@ -129,4 +129,10 @@

DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'

AUTH_USER_MODEL = 'users.User'
AUTH_USER_MODEL = 'users.User'


AUTHENTICATION_BACKENDS = [
'users.backends.EmailBackend',
'django.contrib.auth.backends.ModelBackend'
]
3 changes: 2 additions & 1 deletion lisamate/urls.py → lisamate/urls2.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,11 @@
"""
from django.contrib import admin
from django.urls import path, include
from lisamate.views import MainView
from lisamate.views import MainView, ProfileView

urlpatterns = [
path('admin/', admin.site.urls),
path('', MainView.as_view(), name='main'),
path('profile/', ProfileView.as_view(), name='profile'),
path('accounts/', include('accounts.urls', namespace='accounts')),
]
2 changes: 1 addition & 1 deletion lisamate/views.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from django.views.generic import TemplateView

class MainView(TemplateView):
class ProfileView(TemplateView):
template_name = 'mypage.html'
7 changes: 7 additions & 0 deletions lisamate/views2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from django.views.generic import TemplateView

class MainView(TemplateView):
template_name = 'checklist.html'

class ProfileView(TemplateView):
template_name = 'profile.html'
Binary file added static/.DS_Store
Binary file not shown.
Loading