멋쟁이 사자처럼 10기/세션

2022/04/08 <django 기초 세션>

cha2y0ung 2022. 5. 12. 21:08
728x90

Django란?

 

가상환경: 파이썬 프로젝트를 진행할 때 독립된 환경

 

폴더 생성&열기

터미널 열고 bash 확인

Python 설치 확인 : python --version

현재 위치 확인 : pwd

위치 이동 : cd 파일이름

가상환경 만들기 : python -m venv newvenv -> newvenv 이름의 가상환경 생성

가상환경 활성화 : source newvenv/Script/activate

Django 설치 : pip install django

설치 확인하기 : pip list -> Django가 뜨면 설치된 것

장고 프로젝트 생성 : django-admin startproject 파일이름

프로젝트 폴더로 이동 : cd 파일이름

장고 서버 실행 : python manage.py runserver

 

주소창에 http://127.0.0.1:8000/

 

웹프로그래밍이란?

HTTP(s)프로토콜로 통신하는 웹 브라우저와 웹 서버를 개발하는 것

프로토콜 : 네트워크상에서 약속한 통신규약. 클라이언트와 서버가 HTML 문서를 교환하기 위해 만들어진 프로토콜

 

Django - MTV 패턴

Model : 데이터베이스에 저장되는 데이터

View : 실질적 로직을 담당. 요청처리 함수를 포함, 처리 결과를 템플릿에 전달

Template : 사용자에게 보여지는 부분(html 파일)

 

URL : 웹 정보 자원의 주소

urls.py

 

1. 앱 만들기

앱 : 장고 프로젝트를 이루는 작은 기능들의 단위

앱 만들기 : python manage.py startapp 앱이름

 

파일 구조

- 루트 디렉토리 파일(프로젝트 관련) : setting.py, urls.py

- 어플리케이션 파일(app 관련) : admin.py, models.py, views.py

 

settings.py 설정

-ALLOWED_HOSTS: 가동할 서버 ip 주소

-INSTALLED_APPS: 추가한 앱 등록

-TIME_ZONE : 우리나라 시간으로('Asia/Seoul')

 

migrate하기

python manage.py migrate

데이터베이스에 변경 사항이 있을 때 이를 반영해주는 명령

 

주소창 뒤에 /admin

: 관리자 페이지

 

Admin 관리자 계정만들기

python manage.py createsuperuser

 

__str__ : 객체 출력할때 문자열로 설명해주기 위한 함수. models.py의 class가 admin 페이지에서 어떻게 출력될것인지 정의

 

MTV란?

Model : 데이터베이스와 상호작용

데이터에 대한 정의를 담고 있는 장고의 클래스

여러개의 클래스 정의 가능

하나의 모델 클래스 = 데이터베이스 하나의 테이블

모델 클래스의 속성 = 테이블의 열

*클래스 : 변수와 함수 묶어서 새로운 객체로! 복잡한코드 쉽게 호출

*Model : 열(column), 필드(field), 속성(attribute), 행(row), 튜플(tuple), 레코드(record)

models.py : 데이터를 만드는 공장

class : 처리할 데이터의 구조

 

Template : 사용자에게 직접적으로 보여지는 부분

html과 같은 페이지

urls.py 라는 url 패턴에 따라 특정 함수를 불러오는 동작에서 template를 설정해 사용자에게 보여준다

 

View : Django 내부 동작의 원리를 담당하는 부분

Template에서 받는 request를 처리하고 response하는 역할

views.py

 

app을 만들기 전에 설계해야하는 것들

1. UI설계

2. 테이블 설계

3. 로직 설계

4. URL 설계

 

뼈대 : startproject(프로젝트 생성), settings.py(설정변경), migrate(테이블 생성), createsuperuser(관리자 변경),

        startapp(북마크 앱 생성), stettings.py(북마크 앱 등록)

모델 : models.py(모델정의. 모델 변경시 migrate 잊지말기), admin.py(admin 사이트에 model 등록), makemigrations(변경사항 추출), migrate(변경사항 데이터베이스에 반영)

 

1. 가상환경 실행하기 -> source newvenv/Script/activate

2. 장고 프로젝트 만들기 -> django-admin startproject [project name]

3. 상위 폴더 이름 바꾸기

4. 어플리케이션 만들기 -> python manage.py startapp [app name]

5. 프로젝트 폴더의 settings.py 수정 -> settings.py

6. 데이터베이스에 변경사항 반영 -> python manage.py migrate

7. 서버 작동시켜서 확인하기 -> python manage.py runserver

 

'멋쟁이 사자처럼 10기 > 세션' 카테고리의 다른 글

2022/05/06 <django Blog #2 세션>  (0) 2022.05.14
2022/05/06 <django Blog #1 세션>  (0) 2022.05.12
2022/04/05 <Git 세션>  (0) 2022.05.09
2022/04/01 <Python 세션>  (0) 2022.05.09
2022/03/29 <HTML/CSS 세션>  (0) 2022.05.09