본문 바로가기
DEV/Web 개발

Web 개발 :: 파이썬 django _TIL#17

by 올커 2022. 9. 22.

■ JITHub 개발일지 17일차

□  TIL(Today I Learned) ::

파이썬 django 공부법

1. 파이썬 django

 1) 웹 프레임워크

   - 웹 서비스를 쉽게 만들어주는 기계!

   - 인증 : 로그인

 

 2) 웹 서비스가 마땅히 갖춰야 할 것들?

   - 인증 : 로그인/로그아웃

   - 데이터 저장 : 데이터베이스 관리

   - 요청에 대한 응답 : HTML, JSON

   - 보안기능

 

 3) 프레임워크의 역할

   - 인증

   - 데이터베이스 관리

   - 요청에 대한 응답

   - 보안

   - 코드의 재사용성

 

 4) 공부 방향

   - '사용법을 익히는 것' 이 첫 번째, 내부 구조를 들여다보는 것이 두 번째

 

 5) Django

   - Python 기반으로 만들어진 웹 프레임워크

   - Django를 배우면 파이썬 기반의 Node.js, spring 등으로 역량확장이 쉽다.

   - 데이터베이스와 연동이 편리하고, SQLite를 제공한다.

 

 6) Flask와의 차이?

   - Flask는 단순한 기계 : 제공기능 적음, 사용법 단순, 단순한 웹 서버 간단하게 만들 때

   - Django는 복잡한 기계 : 제공기능 많음, 사용법 복잡, 작정하고 웹 서비스 만들 때

                                            →  한번 사용법을 익히면 더 편하게 사용할 수 있다.

   *Template Engine : HTML내에서 변수사용, if문, for문을 사용할 수 있도록 해준다. (웹페이지의 모습을 상황에 맞게 변형해서 보여주거나, 특정 태그를 반복/숨김 등의 기능으로 확장할 수 있다.)

 

 7) Django의 큰 그림?

   - 처음에는 파일 하나하나를 분석하지 말자. "manage.py 코드 분석", "settings.py 코드 분석"하는 것은 처음에는 중요하지 않다. 지금 작성하며 익혀야 하는 것은 "view.py" 하나이다.

   - 파일 간에 어떤 데이터를 주고 받으며, 그 과정에서 각 파일들은 어떤 역할을 하는지 이해하는 것이 중요하다.

   - MVC 패턴, MTV 패턴 : Model, Views, Template의 상호작용과 역할을 이해하자.

 8) 어떤 것을 공부해야 할까

   - 수업을 막연하게 따라치는 것이 아니라 이해하면서 익혀야 한다.

   - 지금 중요하게 공부할 내용 : (1)데이터 베이스 관리, (2)인증, (3)요청에 대한 응답을 하기, (+)배포까지는 꼼꼼히 공부해야 한다.

   (1) 데이터베이스 관리

    · 객체 관리(ORM, Object-Relational Mapping) : 파이썬 클래스(class)를 활용해 데이터베이스 관리를 할 수 있도록 함

   (2) 인증

    · 회원 가입, 탈퇴, 로그인, 로그아웃, 회원정보 수정

  (3) 요청에 대한 응답을 하기까지

    · Request 가공

    · Response 가공

 


2. 가상환경

 1) pip

   - 개발할 때 쉽게 쓸 수 있도록  '외부 기능을 제공'해주는 것을 '패키지'라고 하며, 이 패키지를 설치할 수 있게끔 하는 '패키지 관리자'를 pip라고 한다. (패키지 설치, 삭제, 업그레이드, 조회 등의 기능 제공)

패키지 설치
pip install <패키지 이름>

패키지 제거
pip uninstall <패키지 이름>

설치된 패키지 이름 및 버전 조회
pip freeze

 2) 가상환경은?

   - 작업하고자 하는 프로젝트를 가상환경으로 묶으면 패키지를 설치하여 전체 PC공간에 영향을 주지 않도록 만들 수 있다. (프로젝트마다 패키지 버전이 다를 경우, 관리하기 용이하며, 만약 패키지에 문제가 생길 경우 가상환경 내에만 영향을 주고, 외부에는 영향을 주지 않을 수도 있다.)

 

 

 3) 가상환경 만들기

가상환경 생성
python -m venv <가상환경 이름>

python3 -m venv <가상환경 이름>

 

 4) 가상환경 실행

가상환경 실행(윈도우)
source <가상환경이름>/Scripts/activate

가상환경 실행(Mac)
source <가상환경이름>/bin/activate

 5) 가상환경 종료

가상환경 종료
deactivate

 6) 패키지 목록 내보내기/ 패키지 목록 설치하기

설치된 패키지들의 목록을 requirements.txt로 내보내기
pip freeze >> requirements.txt

requirements.txt안에 적힌 파일 설치하기
pip install -r requirements.txt

□  TIF(Today I Felt) ::

  - 새로운 django 프로젝트 팀을 구성하였다. 이름은 '스파클링 커피 클럽' 이다. 이전의 팀이 지속했으면 하고 투표를 던졌으나 원하지 않았던 팀원분이 계셨던 것 같다. 이번 팀은 완주 끝까지 함께하는 팀이 되었으면 좋겠다.

  - 팀 깃허브를 생성했다. 팀장분이 많은 것들을 해보신 것 같아 든든했다. 이제 이론으로만 공부했던 깃을 실제로 다루어볼 예정이다.

  - django를 하게 되면 다시 웹페이지를 디자인하는 부분도 생길텐데 html/css, javascript가 아직 많이 부족하다고 생각된다. django 이론을 공부하고 나면 다양한 페이지를 작성하면서 이 부분을 좀 더 보완하고 싶다. 오늘 팀장님 추천으로 새로운 강의 채널을 알게 되었다. (※ 제주코딩베이스캠프

 

반응형

댓글