
pyenv virtualenv 3.12.1 oz_pystagram : 가상환경 생성
poetry init : Poetry 초기화
django-admin startproject config . : 기초 설정 파일을 생성

Python Interpreter과 Language & Frameworks > Django 을 설정하여 프로젝트 세팅을 완료


class UserManager(BaseUserManager):
class User(AbstractBaseUser):
INSTALLED_APPS = ['model',]AUTH_USER_MODEL = 'member.User'INSTALLED_APPS = [ 'django-extensions' ] 등록 
STATICFILES_DIRS = [ STATIC_DIR, ] : 개발할때 사용STATIC_ROOT = BASE_DIR / '.static_root' : 배포할때 이용



에러 처리


부트스트랩 디자인 추가


회원가입 성공시 이동할 signup_done.html 작성

페이지 넘어가는거 까지는 가능한데 DB에 아직 저장 안됨

success_url = reverse_lazy('signup_done') 대신 form_valid에서 렌더링

파이썬 애플리케이션에서 환경변수를 쉽게 관리하기 위한 라이브러리
주요기능
사용 예시
파이썬 코드에서 사용
from dotenv import load_dotenv
import os
load_dotenv() # .env 파일의 환경 변수를 불러옵니다
database_url = os.getenv('DATABASE_URL')
secret_key = os.getenv('SECRET_KEY')
print(f"Database URL: {database_url}")
print(f"Secret Key: {secret_key}")


import os
import json
# 현재 환경을 지정 (보통 환경 변수로 지정하거나 기본 값을 사용)
current_env = os.getenv('ENV', 'development')
# 해당 환경의 secret.json 파일 경로 설정
secret_file = os.path.join('config_secret', f'{current_env}.json')
# secret.json 파일 로드
with open(secret_file) as f:
secrets = json.load(f)
# JSON 데이터를 사용해 환경 변수를 설정합니다.
DEBUG = secrets['DEBUG']
DATABASE_URL = secrets['DATABASE_URL']
SECRET_KEY = secrets['SECRET_KEY']
print(f"DEBUG: {DEBUG}")
print(f"DATABASE_URL: {DATABASE_URL}")
print(f"SECRET_KEY: {SECRET_KEY}")
이메일 SMTP(Simple Mail Transfer Protocol) 설정
SMTP 설정에 필요한 정보
smtp.naver.com)587, SSL 사용 시 465)
네이버 메일 환경설정에서 "IMAP/POP3 사용"을 켜야 함
네이버 SMTP는 반드시 “앱 비밀번호(2단계 인증)” 사용해야 함
SMTP 서버 설정
이메일 계정 설정
기본 발신자 이메일 주소
In [1]: from django.core.mail import send_mail
In [2]: title = '제목임'
In [3]: message = '이것은 내용입니다'
In [4]: from_email = settings.EMAIL_HOST_USER
In [5]: to_email = ['nike000112@naver.com']
In [6]: send_mail(title, message, from_email, to_email)



class LoginForm(forms.Form)
forms.py 에 코드를 추가함으로써 form_valid를 간략하게 줄일 수 있음

login페이지 만들기

logout 페이지 및 디자인 다듬기
