일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- SimpleCraft
- 딥러닝 공부
- python3
- AI역량평가
- Birthday paradox
- 백로과
- ADsP
- 참새목
- keras
- 솔딱새과
- 한국의새
- 비둘기목
- 계수정렬
- 기러기목
- 딱다구리과
- AI전략게임
- 흰날개해오라기
- 오리과
- 참새과
- 비둘기과
- 한국의 새
- structured_array
- IBK기업은행 인턴
- 딥러닝공부
- 맑은소리 스피치학원
- 생일문제
- 가마우지과
- 직박구리과
- Python
- django
- Today
- Total
진박사의 일상
[django] 1일차 기본 내용 본문
장고 프로젝트 생성
$ django-admin startproject (config) .
DB 생성
$ python manage.py migrate
앱 생성
$ python manage.py startapp (app_default)
그 밖의 명령어들
makemigrations : 변경사항 추적, DB 적용할 내용 정리
sqlmigrate : 실행할 SQL 명령문 출력
migrate : 실제 변경사항 DB 반영
slowmigrations : DB 변경사항 목록과 상태 출력
runserver : 테스트 서버 실행
dumpdata : DB 백업
loaddata : DB 복구
flush : DB 테이블만 남기고 내용만 삭제
shell : jango shell을 실행
dbshell : DB 직접 접근 가능한 쉘을 실행. 직접 SQL 구문을 이용해 수정하고 싶을 때 사용
createsuperuser : 관리자계정 생성
changepassword : 계정 비밀번호 변경
프로젝트 구조
/(config) : startproject의 인수로 이름붙여진 폴더, 프로젝트 설정파일, 웹서비스 실행 파일 등
__init__.py : python 2.x와의 호환을 위해 만들어진 파일
settings.py : 프로젝트 설정 파일
BASE_DIR : 루트 경로
SECRET_KEY : 보안을 위한 키값
DEBUG : 디버그모드 True or False
ALLOWED_HOSTS : 배포시 * 이나 도메인을 기록해 호스트 설정. (*은 위험해서 사용x)
INSTALLED_APPS : 설치된 앱의 목록 기록, 관리
MIDDLEWARE : 요청/응답 메세지 사이에 실행되는 특수 프레임워크
ROOT_URLCONF : urls.py의 경로
TEMPLATES : 템플릿 시스템에 관한 설정
WSGI_APPLICATION : wsgi 어플리케이션 설정
DATABASES : DB 설정
AUTH_PASSWORD_VALIDATORS : 비밀번호 검증 설정 (기본 검증 규칙 : 사용자 정보와 유사? 숫자로만? 너무 짧음? 평범함?)
LANGUAGE_CODE : 다국어 설정
/venv : 가상환경 폴더
db.sqlite3 : SQLite3 DB 파일
manage.py : Django의 명령어를 실행하기 위한 파일
디자인패턴 MTV
-다양한 영역이 서로 겹치지 않도록 분할해서 관리할 수 있도록 역할을 나누는 것. 웹에서는 프론트코드(View), 백엔드코드(Controller)의 분리, 로직(Controller)과 DB(Model)의 분리.
1. Model : DB 구조 결정.
2. View(Template) : 사용자에게 보여지는 UI 부분. HTML 코드 등
3. Controller(View) : 기능, 로직에 관한 부분. 데이터 해석 가공 처리 결과 반환 등
생성된 앱의 MTV 구조
models.py : DB 명세 고나리. 클래스로 생성되어 클래스=테이블명, 클래스속성=Column. ORM(Object Relational Mapping)이 적용되어 특정 DB의 SQL문을 몰라도 작성 가능.
admn.py : CRUD(Create-Read-Update-Delete) 페이지 대신 jango의 기본 관리자 페이지에서 모델을 확인하거나 기능 추가할 때 사용
views.py : 페이지를 프로그래밍. 클래스형 뷰(Class Based View)와 함수형 뷰(Function Based View)가 있음.
urls.py : 어떤 url으로 view를 실행시킬지 기록.
'배프의 오지랖 파이썬 웹 프로그래밍' 책을 참고하여 공부하고 있습니다.
'프로그래밍' 카테고리의 다른 글
[python] 생활코딩 - TXT 파일 글자수로 나누기 (0) | 2021.05.09 |
---|---|
[django] 2일차 Hello world, Polls App 만들기 - 1 (0) | 2021.05.07 |
[python] np.dot 할 때 자주 헛갈리는 1D matrix Transpose 문제 (0) | 2021.05.04 |
하고 싶은 것들 정리 (0) | 2018.10.26 |
아무것도 없지만 일단.. (0) | 2018.10.25 |