일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 쿠키(cookie)
- web
- Til
- ERD
- Wil
- 개발공부
- nginx
- Doker
- JWT
- 오블완
- flask
- SQL
- 파이썬
- 장고
- 연습
- git
- Python
- viewsets
- CS
- 아티클 스터디
- github
- 코딩테스트
- 자료구조
- 세션(Session)
- 티스토리챌린지
- redis
- docker
- 도커
- NoSQL
- django
- Today
- Total
목록django (16)
SteadyDrills
250122 미들웨어 (Middleware) 란?소프트웨어 아키텍처에서 클라이언트와 서버 간의 요청(request)과 응답(response)을 중개하는 역할을 하는 컴포넌트이다. 주로 웹과 앱에 사용되며, 장고의 미들웨어는 요청(request)과 응답(response) 처리 과정 특정 지점에서 호출되어 다양한 기능(예: 인증, 세션 관리, 로깅, 보안 등)을 수행하는 훅(hook) 프레임워크이다. 미들웨어는 process_request와 process_response와 같은 메서드를 통해 요청과 응답을 처리한다. 미들웨어 (Middleware) 의 필요성애플리케이션 전반에 걸쳐 공통적으로 적용해야 하는 기능들을 효율적으로 구현. 공통 기능을 한 곳에서 관리. → 코드의 재사용성과 유지보수성이 향상. 요..
250116 APIViewGeneric ViewViewSet개념DRF에서 제공하는 가장 기본적인 클래스 기반 뷰APIView를 상속받아 특정 기능을 구현한 클래스하나의 클래스로 API 엔드포인트들을 그룹화하는 클래스상속 관계DRF의 기본 클래스APIView 상속ViewSetMixin와 APIView상속기능HTTP 메서드(GET, POST, PUT, DELETE 등)를 직접 구현하여 API를 처리하며,데코 레이터를 이용해서 FBV처럼 작성도 가능함.특정 기능(리스트, 디테일, 생성, 수정, 삭제 등)을 미리 구현하여 재사용성을 높임다양한 기능을 하나의 클래스로 처리하며, action을 사용하여 각 엔드포인트에 매핑되는 기능을 정의하고, Router를 사용하여 간단하게 URL을 설정 가능복잡도가장 높음 ..

250106 ViewSet이란?Django REST Framework (DRF)에서 하나의 클래스를 이용해 여러 메서드를 처리하기 위해 만들어진 것이다.RESTful API의 동작을 중심으로 설계되었기 때문에 HTTP 메서드(GET, POST, PUT 등)에 대해 동일 리소스에 대한 CRUD(Create, Read, Update, Delete) 작업을 처리할 수 있다. 이것을 통해 코드의 중복을 줄이고 유지 보수를 용이하게 할 수 있다.* ViewSet을 사용할 때는 Router를 함께 사용하는 것이 일반적이며, Router는 URLConf를 자동으로 생성해 주어 편리하게 API 엔드포인트를 관리할 수 있도록 도와준다. ViewSet의 종류 1. ViewSet특징가장 기본적인 ViewSet이며, 명시..

241219장고의 세션 Django에서 세션(Session) 저장 원리는 클라이언트-서버 간 상태를 유지하기 위해 세션 데이터를 관리하는 방식이다.기본적으로 세션 데이터를 저장하는 여러 백엔드 방식(데이터베이스, 캐시, 파일, 쿠키 등)을 지원하며, 기본값으로는 데이터 베이스 저장 방식으로 저장된다. 장고의 세션 프로세스 상세1. 클라이언트의 요청클라이언트가 Django 애플리케이션에 요청.Django는 요청 객체(HttpRequest)를 생성하여 요청 데이터를 처리.2. 세션 식별자 확인 (세션 키)Django는 클라이언트가 보낸 요청의 쿠키에서 세션 식별자인 sessionid를 확인.쿠키 이름: 기본적으로 sessionid (setting.py에서 변경 가능).3. 세션 데이터 로드Django는 ..
2401120FBV (Function-Based View) FBV는 뷰를 함수로 정의하여 요청을 처리하는 방식이다. 간단하고 직관적인 방법으로, 소규모 애플리케이션에 적합하다. 장점단순성: 간단한 로직을 구현할 때 직관적이며 이해하기 쉽다.명시성: 요청 처리 과정이 단계별로 명확하다.빠른 프로토타이핑: 빠르게 뷰를 작성할 수 있어 초기 개발에 유리하다. 단점재사용성 부족: 복잡한 로직이 필요한 경우 코드 중복이 발생할 수 있다.확장성 제한: 기능이 증가할수록 관리가 어려워질 수 있다.코드 예시from rest_framework.decorators import api_viewfrom rest_framework.response import Responsefrom rest_framework import st..
240920 Category 기능이 기능을 만들게 된 이유- 신문 사이트를 표방하고 있기 때문에 카테고리 별로 정리해야 한다고 느꼈고그 때문에 생성은 기자들만 하고 조회는 누구나 할 수 있어야 한다고 생각했다. 기능 구성(CRUD)생성 - 기자만 가능하며, 기사를 쓰기 위해서는 필수적으로 하나 이상의 카테고리가 있어야 함.조회 - 회원이라면 누구나 가능. 수정 - 기자라면 누구나 가능.삭제 - 기자라면 누구나 가능.Trouble shooting원인 코드# 카테고리 생성 및 목록 조회class CategoryAPIView(APIView): permission_classes = [IsAuthenticated] def get(self, request): category = Category.ob..

240913 현재 진행상황 1. 회원가입 CRUD 구현& 로그인, 로그아웃 구현2. 기사 관련 기본 CRUD 구현 완료3. 댓글 기능 구현 완료 금일 진행 1.기사 생성 시 다중 이미지 업로드 구현2. 기사 조회 시 페이지 네이션 구현3. 댓글 조회 시 삭제된 댓글 필터링 & 페이지 네이션 구현4. 회원 수정 기능과 로그아웃 버그 수정 Trobleshooting - TypeError (다중 이미지 업로드 기능 구현중 오류) ● 원인 분석 -TypeError: 'RelatedManager' object is not iterable의 원인을 구글링 해보면 반복가능하지 않은 객체를 반복으로 사용하려고 할 때 나온다고 한다. ● 실제 원인과 해결과정 - 모델에서 관계명..

목차 240912 가장 인기있는 뉴스의 제목을 앞에 두고 아래에는 간단하게 볼 수 있는 카드 뉴스와 오른쪽 사이드 공간은 인기순 혹은 최신순의 글이 올라오게끔 구조를 잡았다. 페이지를 그리며 그에 맞는 api기능을 추렸다. 예를 들어 카드 뉴스 같은 경우,제목은 필수이며 내용을 50자만 나올 수 있게 Serializer에서 설정하는 식으로 조회 기능을 세부적으로 어떻게 구현할지 지 정했다. 우리 조는 역발상으로 뉴스를 보며, '좋아요'가 아닌 '싫어요'를 누르고, '즐겨찾기' 기능 대신 'Blind'기능을 구현하도록 기획했다. 때로는 좋아하는 걸 보는 것보다 싫어하는 걸 안 보는 게 더 좋다고 느끼기 때문에 이런 아이디어를 생각하게 되었다. 큰 기능으로는 accounts와 articles로..