[플레이데이터 SK네트웍스 Family AI 캠프 6기] 16주차 회고 (01/6~01/10)

2025. 1. 13. 10:03AI

Django 웹 프레임워크 복습

1. 웹 프로그래밍 기초

  • Front End: 사용자가 보는 부분을 개발하는 영역. HTML, CSS, JS로 UI/UX 구현.
  • Back End: 사용자 요청을 처리하는 서버 부분을 개발. DB 관리 및 API 구축.
  • Full Stack: 프론트엔드와 백엔드 모두 다루는 개발자.

2. HTTP 프로토콜

  • Stateless 프로토콜: 서버는 클라이언트의 상태를 유지하지 않는다. 클라이언트 요청 후 응답이 끝나면 연결이 종료됨.
  • 주요 HTTP 메서드:
    • GET: 리소스 요청
    • POST: 데이터 전송
    • PUT, DELETE: 리소스 갱신 및 삭제

3. Django 개요

  • MVT 구조:
    • Model: 데이터베이스를 조작하는 ORM 클래스
    • View: 요청을 받아 처리하는 로직 작성
    • Template: 사용자에게 보이는 응답 화면

4. 프로젝트와 앱 구조

  • 프로젝트: 하나의 웹 애플리케이션.
  • : 특정 기능 단위. 프로젝트는 여러 앱을 포함할 수 있음.
  • 주요 명령어:
    • startproject: 프로젝트 생성
    • startapp: 앱 생성
    • runserver: 로컬 테스트 서버 실행

5. Model과 ORM

  • 모델 클래스:
    • CharField, IntegerField 등 필드 타입 정의
    • ForeignKey, OneToOneField, ManyToManyField로 모델 간 관계 설정
  • QuerySet:
    • 데이터 CRUD를 위한 쿼리 집합
    • filter(), exclude(), get(), all() 등으로 데이터 조회 및 조건 검색

6. View와 URL 설정

  • FBV (Function-Based View): 함수 기반으로 View 작성
  • CBV (Class-Based View): 클래스 기반으로 View 작성
    • ListView, DetailView, CreateView 등 제네릭 뷰 지원

7. Form과 ModelForm

  • Form: HTML 입력 폼 생성 및 데이터 검증
  • ModelForm: 모델과 연동된 폼을 생성하여 DB 저장 기능 제공

8. 사용자 인증 및 관리

  • User 모델: 기본 사용자 정보(username, email, password 등)를 포함
  • 사용자 인증을 위해 Django는 login(), logout() 및 is_authenticated 속성 제공
  • 확장 User 모델:
    • AbstractUser 상속으로 사용자 필드 확장 가능

9. 세션 및 쿠키 관리

  • 쿠키: 클라이언트에 key-value 형태로 저장되는 데이터
  • 세션: 클라이언트 식별을 위한 세션 ID를 생성하여 서버에서 데이터 관리

10. Static 및 Media 파일

  • Static 파일: CSS, JS, 이미지 등 정적 리소스
  • Media 파일: 사용자가 업로드하는 파일
    • MEDIA_ROOT, MEDIA_URL 설정 필요

11. 템플릿 시스템

  • {% block %}와 {% extends %}를 사용해 템플릿 상속 및 재사용 가능
  • 템플릿 필터와 태그로 동적 처리를 구현

 django에 대한 전반에 대해서 학습하였다. 이후에 프로젝트를 통해서 chatbot을 만드는 활동을 수행할 계획이다. 

 django를 통해서 블로그 및 여러 웹사이트를 만들 수 있다는 것을 알게 되었다. 

 

 웹사이트를 만드는 것을 연습해 봐야겠다.