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 |