Django

· Django, DRF
STATIC 파일 분리 1. static 파일을 분리하는 이유 일반적으로 css와 자바스크립트는 html 파일에 포함시키지 않습니다. css와 자바스크립트는 서버에 매번 렌더링 할 필요 없이 모든 사용자에게 동일하게 적용됩니다. css나 자바스크립트는 데이터베이스에 저장된 값을 적용하 거나 템플릿태그를 적용할 일이 없다는 말입니다. 서버에서 렌터링해야할 필요가 있는 경우도 있지만 예외적인 부분입니다. 반대로 html은 매번 새로 생성해야 하는 부분이기 때문에 어쩔 수 없이 매 요청마다 렌더링 후 전송을 해야 합니다. 매번 새로 생성해줘야 하는 코드를 동적코드 dynamic코드라고 부르며 새로 생성할 필요가 없는 코드는 정적코드 static코드라고 합니다. 정적 코드는 각 종류에 따라 css, js 등의 ..
· Django, DRF
1. 이메일 인증 회원가입이 이메일은 중복이 되지 않는다는 조건을 만들었습니다. 만약 누군가 실존하지 않는 이메일이나 다른 사람의 이메일로 가입을 하게 된다면 나중에 회원가입을 하는 사람은 피해를 볼 수 있습니다. 일반적으로 회원의 아이디를 이메일로 사용하는 경우 가입직후 이메일 인증을 하고 인증 이메일의 인증하기 버튼을 클릭한 경우 인증이 되고 아이디를 사용할 수 있도록 변경해 줍니다. 이메일은 장고에서 제공하지 않는 기능이지만 내장된 이메일 전송기능을 활용해서 비교적 간단하게 이메일 인증 기능을 구현할 수 있습니다. 이메일 인증기능은 아래의 순서를 통해 인증이 됩니다. 가입 즉시 인증 이메일 보내기 인증토큰 생성 사용자 인증 페이지로 이동할 수 있는 링크를 포함한 인증 이메일 발송 사용자 이메일에서 ..
· Django, DRF
세션 관리 로그인정보를 삭제할 때 session id 값을 브라우저의 쿠기에서 삭제만 해도 사라지고 session id값만 알고 있으면 다른 브라우저에서 세팅을 하면 동일한 세션이 복제가 됩니다. 이렇게 쿠키값이 유출이 된다면 개인정보가 누출이 되거나, 사용자의 권한을 이용해서 제삼자가 원하는 행위를 할 수 있게 됩니다. 그래서 장고는 SessionMiddleware에서는 세션 관리를 위한 다양한 옵션을 제공합니다. 세션 미들웨어 세션은 로그인한 사용자에게만 발급하는 표시입니다. 사용자에게는 이 표시의 sessionid만 알려주고 장고는 해당 sessionid를 누구에게 발급해 줬는지 세션이라는 객체에 사용자 인증정보를 저장합니다. 이 세션객체는 기본적으로 데이터베이스에 저장되도록 되어 있지만 다양한 방..
· Django, DRF
로그인 기능 생성 로그인은 어느 상황에서도 할 수 있도록 화면 상단의 오른쪽에 보이도록 하면서 로그인이 된 상태라면 로그아웃 버튼으로 보이도록 할 것입니다. 또한 로그인 화면에는 아직 가입되어 있지 않은 사용자들을 위해 회원가입 링크도 제공해야 합니다. 일단 뷰를 생성하고 url라우팅을 추가합니다. 뷰는 장고 auth프레임워크에서 제공하는 LoginView를 상속받아 구현했습니다. # user/views.py from django.contrib.auth import get_user_model from django.views.generic import CreateView from django.contrib.auth.views import LoginView from user.forms import UserR..
· Django, DRF
회원가입 뷰 생성 이미 회원가입을 위한 모델은 만들어졌으니 먼저 뷰를 만들어봅니다. 이번에는 TemplateView대신 CreateView를 이용할 예정입니다. CreateView는 TemplateView보다 많은 믹스인들이 추가되어 훨씬 다양한 기능을 제공합니다. 이 기능들을 모두 사용하려면 규칙에 따라 설정해야 할 것들이 몇 가지 있습니다. # user/views.py from django.views.generic import CreateView from user.models import User class UserRegistrationView(CreateView): template_name = 'user_model.html' model = User # 자동생성 폼에서 사용할 모델 fields = (..
Jong_seoung
'Django' 태그의 글 목록 (4 Page)