로그인 회원가입
모두인포
전체IT경제사회생활스포츠시사여행연애

Python Django를 이용해 간단한 로그인 페이지

lmkfox · 2025-05-12 · 조회 0
Python Django를 이용해 간단한 로그인 페이지
✅ 1. 프로젝트 및 앱 생성 # 가상환경 생성 및 활성화 (선택) python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate # Django 설치 pip install django # 프로젝트 생성 django-admin startproject login_project cd login_project # 앱 생성 python manage.py startapp accounts ✅ 2. settings.py 설정 login_project/settings.py에 다음 추가: INSTALLED_APPS = [ ... 'accounts', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ] # 로그인 성공 후 이동할 URL LOGIN_REDIRECT_URL = '/dashboard/' LOGOUT_REDIRECT_URL = '/login/' # 로그인 URL 설정 (login_required 사용 시) LOGIN_URL = '/login/' ✅ 3. URL 설정 프로젝트 단위 ( login_project/urls.py ) from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('accounts.urls')), ] ✅ 4. accounts 앱 내부 URL 설정 accounts/urls.py 생성: from django.urls import path from . import views from django.contrib.auth import views as auth_views urlpatterns = [ path('login/', auth_views.LoginView.as_view(template_name='accounts/login.html'), name='login'), path('logout/', auth_views.LogoutView.as_view(), name='logout'), path('dashboard/', views.dashboard, name='dashboard'), ] ✅ 5. 뷰(View) 정의 accounts/views.py from django.contrib.auth.decorators import login_required from django.shortcuts import render @login_required def dashboard(request): return render(request, 'accounts/dashboard.html') ✅ 6. 템플릿 파일 생성 accounts/templates/accounts/ 디렉토리를 만들고 다음 템플릿 생성: login.html <!DOCTYPE html> <html> <head> <title>로그인</title> </head> <body> <h2>로그인 페이지</h2> {% if form.errors %} <p style="color: red;">아이디 또는 비밀번호를 다시 확인하세요.</p> {% endif %} <form method="post"> {% csrf_token %} {{ form.as_p }} <button type="submit">로그인</button> </form> </body> </html> dashboard.html <!DOCTYPE html> <html> <head> <title>대시보드</title> </head> <body> <h2>{{ user.username }}님, 환영합니다.</h2> <form method="post" action="{% url 'logout' %}"> {% csrf_token %} <button type="submit">로그아웃</button> </form> </body> </html> ✅ 7. 마이그레이션 및 슈퍼유저 생성 python manage.py migrate python manage.py createsuperuser ✅ 8. 서버 실행 python manage.py runserver 브라우저에서 http://127.0.0.1:8000/login/으로 접속하여 로그인 화면을 확인할 수 있습니다. ✅ 요약 - Django 기본 인증 시스템(django.contrib.auth) 활용 - LoginView, LogoutView를 커스터마이징 없이 사용 - @login_required를 통해 인증된 사용자만 대시보드 접근 가능

댓글

아직 댓글이 없습니다.

로그인 후 댓글을 남길 수 있습니다.