ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Django 설치
    Project using python/Cloning Airbnb 2021. 2. 19. 14:09

    Django 설명

      Django는 굉장히 큰 Framework다. node.js가 레고 블록 같다면 Django는 완성된 장남감 로봇이다. 무슨 뜻이냐면, node.js는 아무것도 없는 상태에서 레고 블록을 쌓듯이 npm으로 package를 하나씩 설치해 가면서 앱을 만들어간다면, Django는 auth, admin, translation, context api 등등 이미 만들어져 있는 모든 것을 제공하고 우리는 이 장난감 상자에서 내가 원하는 것을 하나씩 꺼내 쓰면 된다. node.js는 내가 원하는 것을 마음대로 할 수 있는 자율성이 있다. 즉, 내가 node.js를 사용하는 느낌이다.

      반면에, Django는 내가 Django를 사용하는 것이 아니라, Django가 나를 사용하는 느낌이다. Django를 쓴다면 Django의 규칙을 따라야만 한다. 대신 강력한 기능들을 제공한다. 이 배울 때 처음에는 어렵지만, 이 규칙들을 잘 익혀두기만 한다면, Django의 강력한 기능들을 다루는 대마법사가 될 수 있다.

    설치

    Python 설치

      먼저 python이 설치되어 있는지 확인하자.

    2021.2.19일 기준

    설치가 안되어있다면 python 홈페이지에서 설치해 주자.

    pipenv 설치

      python에서 사용하는 여러 패키지 모듈들이 있다. pip라는 명령어를 통해서 이것들을 설치할 수 있다. 하지만, 이것은 좋은 방법이 아니다. 왜냐하면, python으로 여러 가지 프로젝트를 진행하다보면 A 프로젝트에서 설치한 package module이 B 프로젝트에서 호환이 안 될 수 있기 때문이다. 예를 들어, A 프로젝트에서 설치한 django의 버전이 2.2.5이면 1년 뒤에 B 프로젝트에서 사용하는 django도 2.2.5 버전일 수 밖에 없다. 이 때는 여러 가지의 기능이 추가 되고 에러가 개선되었을 텐데, 이전 버전을 사용하는 것이다. 그래서 새로운 버전으로 업그레이드 해서 django 2.5.5가 되었을 때는 B 프로젝트는 괜찮을 수 있겠지만, A 프로젝트는 호환성 문제로 또 다른 에러가 발생할 수가 있다.

      이를 해결 하기 위해서 프로젝트 별로 packaga module의 버전을 관리해야 한다. 이 때 필요한 것이 pipenv다. pip(or pip3)는 global 설치하지만 pipenv는 프로젝트 별로 bubble을 생성한다. 그리고 이 bubble 안에서 설치한 package module은 bubble 밖에 영향을 끼치지 않는다.

      아직은 pipenv가 없으니 pip install pipenv를 통해서 pipenv를 설치한다.

    pipenv installation

      pipenv --three로 bubble을 생성한다.

    Create bubble

      그러면 Pipfile이 생성이 된 것을 확인할 수 있다. 앞으로 설치하게 될 python module이 여기에 기록된다.

    Pipfile

    pipenv shell로 bubble 안에 들어간다.

    It's to go inside the bubble

    Django 설치

    Django를 pipenv로 설치한다.

    Django installation

    Pipfile을 보면 성공적으로 Django가 설치된 것을 확인할 수 있다.

    Pipfile

     

    참고 자료

    • 노마드 코더의 Airbnb 클론 강의

    'Project using python > Cloning Airbnb' 카테고리의 다른 글

    Create User Model and Admin Panel  (0) 2021.02.19
    Django User setting  (0) 2021.02.19
    Create Django Apps  (0) 2021.02.19
    Django settup  (0) 2021.02.19
    개요  (0) 2021.02.19

    댓글

Designed by Tistory.