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 만들기, 복붙

+ Recent posts