[Django] Back-End 가상환경 구축 및 Django 실행

Jingi·2024년 3월 12일

Web

목록 보기
7/40
post-thumbnail

Web application 개발

  • 인터넷을 통해 사용자에게 제공되는 소프트웨어 프로그램을 구축하는 과정
  • 다양한 디바이스에서 웹 브라우저를 통해 접근하고 사용할 수 있음

클라이언트와 서버

웹의 동작 방식

  • 클라이언트 서버 구조

출처

  • Client
    • 서비스를 요청하는 주체
    • 웹 사용자의 인터넷이 연결된 장치, 웹 브라우저
  • Server
    • 서버
    • 클라이언트의 요청에 응답하는 주체

Front-end & Back-end

Frontend(프론트 엔드)

  • 사용자 인터페이스(UI)를 구성하고, 사용자가 애플리케이션과 상호작용할 수 있도록 함
  • HTML, CSS, JavaScript, 프론트엔드 프레임워크 등

Backend(백엔드)

  • 서버 측에서 동작하며, 클라이언트의 요청에 대한 처리와 데이터베이스와의 상호작용 등을 담당
  • 서버 언어(Python, Java 등) 및 백엔드 프레임 워크, 데이터베이스, API, 보안 등

Framework

Web Framework

  • 웹 애플리케이션을 빠르게 개발할 수 있도록 도와주는 도구
  • 개발에 필요한 기본구조, 규칙, 라이브러리 등을 제공

Django framework 장점

  • 다양성
    • Python 기반으로 소셜 미디어 및 빅데이터 관리 등 광범위한 서비스 개발에 적합
  • 확장성
    • 대량의 데이터에 대해 빠르고 유연하게 확장할 수 있는 기능을 제공
  • 보안
    • 취약점으로부터 보호하는 보안 기능이 기본적으로 내장되어 있음
  • 커뮤니티 지원
    • 개발자를 위한 지원, 문서 및 업데이트를 제공하는 활성화 된 커뮤니티

가상환경

  • Python 애플리케이션과 그에 따른 패키지들을 격리하여 관리할 수 있는 독립적인 실행 환경

출처

의존성 패키지 관리의 중요성

  • 개발환경에서는 각각의 프로젝트가 사용하는 패키지와 그 버전을 정확히 관리하는 것이 중요

가상환경을 사용하는 이유

  • 의존성 관리
    • 라이브러리 및 패키지를 각 프로젝트마다 독립적으로 사용가능
  • 팀 프로젝트 협업
    • 모든 팀원이 동일 환경과 의존성 위에서 작업하여 버전간 충돌을 방지

가상환경 생성순서

    1. 가상환경 venv 생성
      python -m venv venv
    1. 가상 환경 활성화
      source venv/Scripts/activate
    1. Django 설치
      pip install django
    1. 의존성 패키지 목록 생성
      pip freeze > requirements.txt

Django 프로젝트 생성

django-admin startproject firstpjt .

Django 서버 실행

python manage.py runserver

Django Design Pattern

디자인 패턴

  • 소프트웨어 설계에서 발생하는 문제를 해결하기 위한 일반적인 해결책

MVC 디자인 패턴

  • 애플리케이션을 구조화하는 대표적인 패턴
  • Model, View, Controller

MTV 디자인 패턴

  • Django에서 애플리케이션을 구조화하는 패턴
  • Model, Template, View

Django project

  • 애플리케이션의 집합

Django application

  • 독립적으로 작동하는 기능 단위 모듈
  • 각자 특정한 기능을 담당하며 다른 앱들과 함께 하나의 프로젝트를 구성

앱생성

    python manage.py startapp articles
profile
데이터 분석에서 백엔드까지...

2개의 댓글

comment-user-thumbnail
2024년 3월 27일

잘 보고 갑니다. 서버 설명 부분에 오타 있어요 선생님

1개의 답글