AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

Django 인터뷰 질문 및 핵심 개념 – Part 3

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

- 초보~중급 Django 개발자

- 인턴/신입 개발자 면접 준비자

- 프레임워크 기초 공부자

핵심 요약

  • Django 프로젝트 생성: django-admin startprojectpython manage.py startapp 명령어 사용
  • ORM 활용: python manage.py shell로 데이터베이스와 상호작용 가능
  • 보안 기능: CSRF 토큰을 통해 사이트 간 요청 위조 방지

섹션별 세부 요약

1. Django 프로젝트 생성

  • django-admin startproject projectname 명령어로 프로젝트 생성
  • python manage.py startapp appname 명령어로 앱 생성

2. 개발 서버 실행

  • python manage.py runserver 명령어로 로컬 개발 서버 실행

3. 가상 환경(Virtual Environment)

  • python -m venv 또는 virtualenv로 생성
  • 프로젝트별 의존성 관리 및 requirements.txt 파일 생성 지원

4. 세션(Session) 메커니즘

  • 사용자 요청 간 상태 유지 위한 딕셔너리 형태의 데이터 저장
  • request.session을 통해 읽기/쓰기 가능

5. 정적 파일(Static Files)

  • HTML, CSS, JavaScript 등 서버에서 그대로 전달되는 파일
  • STATIC_ROOT 설정으로 정적 파일 경로 관리

6. ORM(객체-관계 매핑)

  • python manage.py shell로 ORM 활성화
  • Python 객체와 데이터베이스 테이블 매핑 가능

7. 슈퍼유저(Superuser) 생성

  • python manage.py createsuperuser 명령어로 생성
  • migrate 실행 전 생성 불가

8. Jinja 템플릿 엔진

  • Django 기본 템플릿 엔진 대체 가능한 유연한 엔진
  • 조건문, 루프, 필터, 매크로 등 Python 문법 유사한 기능 제공

9. CSRF 토큰 보안

  • csrf_token 중간웨어로 요청 위조 방지
  • 쿠키와 폼 필드에 토큰 동기화 후 요청 검증

10. 중간웨어(Middleware)

  • 요청/응답 전후에 처리 로직 삽입
  • MIDDLEWARE 설정 파일에서 활성화 가능

결론

  • 가상 환경 사용을 통해 의존성 충돌 방지
  • ORM으로 SQL 쿼리 직접 작성 없이 데이터베이스 작업 가능
  • CSRF 토큰은 보안 필수 요소로 반드시 활성화
  • 중간웨어를 통해 요청/응답 흐름 커스터마이징 가능