- 게시글
- comment & user
- 댓글 update
- Read
- N:1
- select_related
- 쟝고
- 댓글 READ
- 역참조
- improve query
- update
- http
- DB
- ManyToManyField
- ORM
- 댓글 create
- migrations
- Article & User
- M:N
- create
- 1:n
- Migrate
- 중개모델
- many to many relationships
- delete
- n:1의 한계 상황
- queryset api
- prefetch_related
- Django
- dumpdata
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
목록백엔드 (25)
데이터 분석 기술 블로그
1. Template with Authentication data 템플릿에서 인증 관련 데이터를 출력하는 방입니다. 2. 현재 로그인되어있는 유저 정보 출력하기 Hello, {{ user.username }} 3. context processors 템플릿이 렌더링 될 때 호출 가능한 콘텍스트 데이터 목록입니다. 작성된 컨텍스트 데이터는 기본적으로 템플릿에서 사용 가능한 변수로 포함됩니다. 즉, django에서 자주 사용하는 데이터 목록을 미리 템플릿에 로드해 둔 것입니다.
Logout Logout이란 Session을 Delete 하는 과정입니다. logout(request) 현재 요청에 대한 Session Data를 DB에서 삭제하고 클라이언트의 쿠키에서도 Session Id를 삭제합니다. 1. 로그아웃 로직 작성 # accounts/urls.py urlpatterns = [ path('login/', views.login, name='login'), path('logout/', views.logout, name='logout'), ] # accounts/views.py from django.contrib.auth import logout as auth_logout def logout(request): auth_logout(request) return redirect('a..
Login Login은 Session을 Create 하는 과정입니다. AuthenticationForm() 로그인 인증에 사용할 데이터를 입력 받는 built-in form입니다. 1. 로그인 페이지 작성 # accounts/urls.py app_name = 'accounts' urlpatterns = [ path('login/', views.login, name='login'), ] # accounts/views.py from django.contrib.auth.forms import AuthenticationForm def login(request): if request.method == 'POST': form = AuthenticationForm(request, request.POST) # form..
1. Django Authentication System (인증 시스템) Django Authentication System이란, 사용자 인증과 관련된 기능을 모아 놓은 시스템입니다. Authentications이란, 사용자가 자신이 누구인지 확인하는 것으로 즉, 신원 확인입니다. 1.1 사전 준비 두 번째 app accounts 생성 및 등록을 해야 합니다. auth와 관련한 경로나 키워드들을 django 내부적으로 accounts라는 이름으로 사용하고 있기 때문에 되도록 'accounts'로 지정하는 것을 권장합니다. # accounts/urls.py from django.urls import path from . import views app_name = 'accounts' urlpatterns =..
쿠키(Cookie) 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각입니다. 클라이언트 측에서 저장되는 작은 데이터 파일이며, 사용자 인증, 추적, 상태 유지 등에 사용되는 데이터 저장 방식입니다. 1. 쿠키 사용 원리 브라우저(클라이언트)는 쿠키를 KEY - VALUE의 데이터 형식으로 저장 이렇게 쿠키를 저장해 놓았다가, 동일한 서버에 재요청 시 저장된 쿠키를 함께 전송 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용됩니다. 이를 이용해 사용자의 로그인 상태를 유지할 수 있습니다. 상태가 없는(stateless) HTTP 프로토콜에서 상태 정보를 기억시켜 주기 때문입니다. 2. 쿠키를 이용한 장바구니 예시 장바구니에 상품 담기 개발자 도구 - Network 탭 -..
우리가 서버로부터 받은 페이지를 둘러볼 때 우리는 서버와 서로 연결되어 있는 상태가 아닙니다. 1. HTTP HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 규약입니다. 웹(WWW)에서 이루어지는 모든 데이터 교환의 기초입니다. 1.1 비 연결 지향(connectionless) 서버는 요청에 대한 응답을 보낸 후 연결을 끊습니다. 1.2 무상태(stateless) 연결을 끊는 순간 클라이언트와 서버 간의 통신이 끝나며 상태 정보가 유지되지 않습니다. 상태가 없다는 말은 장바구니에 담은 상품을 유지할 수 없거나 로그인 상태를 유지할 수 없다는 뜻입니다.
Media Files 사용자가 웹에서 업로드하는 정적파일로 user-uploaded라고 합니다. 1. 이미지 업로드 ImageField() 이미 업로드에 사용하는 모델 필드로 이미지 객체가 직접 저장되는 것이 아닌 '이미지 파일의 경로'가 문자열로 DB에 저장됩니다. 1.1 settings.py에 MEDIA_ROOT, MEDIA_URL 설정 MEDIA_ROOT란 미디어 파일들이 위치하는 디렉토리의 절대 경로입니다. # settings.py MEDIA_ROOT = BASE_DIR / 'media' MEDIA_URL이란 MEDIA_ROOT에서 제공되는 미디어 파일에 대한 주소를 생성하는 것입니다. STATIC_URL과 동일한 역할을 한다고 생각하면 됩니다. # settings.py MEDIA_URL = 'm..
Static Files (정적 파일) 서버 측에서 변경되지 않고 고정적으로 제공되는 파일로 이미지, JS, CSS 파일 등이 있습니다. 1.1 웹 서버와 정적 파일 웹 서버의 기본 동작은 특정 위치 (URL)에 있는 자원을 요청(HTTP request) 받아서 응답 (HTTP response)을 처리하고 제공(serving)하는 것입니다. 즉, 자원에 접근 가능한 주소가 있다는 의미입니다. 웹 서버는 요청받은 URL로 서버에 존재하는 정적 자원을 제공합니다. 정적 파일을 제공하기 위한 경로(URL)가 있어야 합니다. 1.2 기본 경로에서 제공하기 Static files 기본경로는 app폴더/static/ 입니다. articles/static/articles/ 경로에 이미지 파일을 배치하면 아래와 같이 보..