SMTP(Simple Mail Transfer Protocol) : 메일 전송, 포워딩
메일 포워딩 : 메일을 전달하는 기능. 발송과 전달은 다르다.
IMAP(Internet Messaging Access Protocol) : 메일 읽어오기
POP3 (Post Office Protocol Version 3) : 보관
장고 기본 비밀번호 변경 기능
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
# EMAIL_BACKEND 는 어떤 backend 를 사용해서 메일을 보낼거냐를 정해주게 됩니다.
# 디폴트 값이 있기 때문에 적지 않아도 좋다.
EMAIL_HOST = 'smtp.naver.com' # 메일 호스트 서버
EMAIL_PORT = '587' # 서버 포트
EMAIL_HOST_USER = '메일@naver.com' # 우리가 사용할 메일
EMAIL_HOST_PASSWORD = '비번' # 우리가 사용할 메일 비번
EMAIL_USE_TLS = True # TLS 보안 설정
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
urlpatterns = [
path('accounts/', include('django.contrib.auth.urls')),
]
accounts url에는 아래와 같은 url이 포함되어 있다.
accounts/login/ [name='login']
accounts/logout/ [name='logout']
accounts/password_change/ [name='password_change']
accounts/password_change/done/ [name='password_change_done']
#밑에 네개만 필요하다.
accounts/password_reset/ [name='password_reset']
accounts/password_reset/done/ [name='password_reset_done']
accounts/reset/<uidb64>/<token>/ [name='password_reset_confirm']
accounts/reset/done/ [name='password_reset_complete']
from django.contrib.auth import views as auth_views
path('password_reset/', auth_views.PasswordResetView.as_view(), name='password_reset'),
path('password_reset_done/', auth_views.PasswordResetDoneView.as_view(), name='password_reset_done'),
path('password_reset_confirm/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(), name='password_reset_confirm'),
path('password_reset_complete/', auth_views.PasswordResetCompleteView.as_view(), name='password_reset_complete'),
위에서 봤던 네개의 url을 커스터마이징 할 수 있다.
회원가입 인증은 아직 하다 말았다. 공부하자 공부!
데이터베이스의 관계
One-To-Many : 하나가 여러개를 가질 수 있다. 예, 한 계정의 여러 개의 게시글
One-To-One : 하나가 하나만 가질 수 있다. 예, 한 계정 당 하나의 프로필
Many-To-Many : 서로 많은 것을 가질 수 있다. 예, 좋아요.
Many-To-Many 만들어 보기
restaurant 앱 만들기 : python manage.py startapp restaurant
restaurant 등록하기 : 'restaurant'
모델 코드 복붙
makemigrations : python manage.py makemigrations
migrate : python mange.py migrate
관리자 페이지에 모델 등록 하기 : admin.site.register(restaurant)
데이터 만들고 넣어주기
장고 shell로 테스트하기
피자에서 토핑 가져오기
shell 시작 : python manage.py shell
모델 가져오기 : from restaurant.models import MyPizza, MyTopping
피자 전부 보기 : MyPizza.objects.all()
피자 하나씩 가져오기 : MyPizza.objects.get(pizza_name = '피자이름')
각 피자 토핑 불러오기 : MyPizza.objects.get(pizza_name = '피자이름').MyTopping.all()
토핑에서 피자 가져오기
shell 시작 : python manage.py shell
모델 가져오기 : from restaurant.models import MyPizza, MyTopping
토핑 전부 가져오기 : MyTopping.objects.all()
토핑 하나씩 가져오기 : MyTopping.objects.get(topping_name = '토핑이름')
각 토핑이 들어간 피자 불러오기 : MyTopping.objects.get(topping_name='토핑이름').mypizza_set.all()
좋아요 모델 만들기
follow로 manytomany. settings에서 유저모델로. 역참조 이름은 followee
views.py에 복붙
urls 복붙
user_list.html 만들기, 복붙
'TIL' 카테고리의 다른 글
[65일차] TIL : 팀프로젝트 끝 (0) | 2023.05.16 |
---|---|
[61일차] TIL : 페이지네이션과 자바스크립트 (0) | 2023.05.14 |
[59일차] TIL : 이메일 인증과 장고 기초 3주차. (0) | 2023.05.10 |
[58일차] TIL : 역참조 랑 장고 기초 2주차 (0) | 2023.05.09 |
[57일차] TIL : 팀 프로젝트 시작, 장고 기초 시작 1주차 (0) | 2023.05.08 |