Two scoops of Django
Django Structure
Django Project 시작전 환경 세팅 (최적화된 장고 환경을 꾸미자)
- python3 설치 (python 3.1.4v 이후 버전은 pip가 내장되어 있다)
- pip는 python 패키지를 가져오는 도구
- pip upgrade => python -m pip install –upgrade pip
- python2를 사용하는 경우 easy_install을 이용하여 pip 설치
- virtualenv 설치
- virtualenv는 python package 의존성을 유지할 수 있게 독립된 python 환경을 제공하는 도구
- pip install virtualenv
- virtualenvwrapper 설치(virtualenv 사용을 더 편하게 해주는 도구)
- pip install virtualenvwrapper-win
- windows virtualenv-wrapper install: tistory
- node.js 개발자의 python 도전기: blog
- mkvirtualenv 가상환경 이름
- ex) mkvirtualenv myvenv
- 앞으로 생성할 가상환경을 위한 환경설정
- setx WORKON_HOME 경로
- ex) setx WORKON_HOME C:\dev\project
- 개인 프로젝트를 위한 가상환경 설치
- mkvirtualenv myvenv
- ex) (myvenv) C:\dev\project\myvenv
- 가상환경 나오기
- deactivate
- 가상환경 들어가기
- workon 가상환경 이름
- ex) workon myvenv
- git bash에서 켜기: source Scripts/activate
- python packgage 확인
- pip list
- Django 설치하기 (가상환경 안에서)
- pip install django~=버전
- ex) pip install django~=2.0.0
- root directory 생성
- mkdir root_dir_name
- ex) mkdir mysite
- requirements.txt 파일 생성
- pip freeze > requirements.txt
- 프로젝트 생성
- django-admin.py startproject
- 쿠키커터 설치
- pip install cookiecutter
- cookiecutter https://github.com/pydanny/cookiecutter-django
- 쿠키커터 설치 방법 => Tistory
- 쿠키커터 설정 => settings
Cookiecutter란?
유연한 확장성과 편의를 추구하기위해 만들어진 프로젝트 템플릿 ,
어플리케이션 사이즈가 계속해서 커지면 곤란한 상황이 올수 있는데 이를 방지할 수 있다고 한다.
Cookiecutter의 어떤점 때문인지는 확실하지 않기 때문에 더 찾아보자
Django와 Cookiecutter 설명: blog
Django Application Structure
git bash tree command on windows
cmd //c tree
1 | $ tree |
## Field manual of Coding style
Refactoring => tistory
Postgresql 설치 및 사용법
user 생성 및 수정, 삭제: user
postgresql 비밀번호를 모를 때: stackoverflow
postgresql user 삭제: wiki
postgresql 자동로그인: tistory
Tablespace 개념: blog
makemigrations vs migrate
makemigrations: models.py에서 적용한 변경사항이나 추가된 혹은 삭제된 사항들을 감지하여 파일로 생성
migrate: 적용되지 않은 migratinos(설정값)들을 적용시키는 역할
makemigrations는 장고에서 제공하는 모델의 변경사항들을 감지하고 기록하는 역할을 하며 migrate는 그러한 기록된 파일들과 설정값들을 읽어서 그 변경사항을 db에 저장하는 역할을 한다
참고 모델 수정후 migrations을 해주지 않고 admin page에 접속하게 되면 오류가 난다 {: .notice}
Django 개발 순서
1 | 1. Settings.py를 이용해 기본 세팅하기 |
Django Rest Framework
Django Rest Framework란?: &nbps; tistory
Googling Info
Django structure: blog
Django install: tistory
Django Tutorial: Djangoproject
Django with Machine Learning: codementor
Django with MongoDB: Djongo github
NoSQL DB의 종류: incodom
Django 공부내용 정리: wikiDocs
Postgresql 연동: tistory1, tistory2
Django 참고하기 좋은 글: hannal
Django admin 계정 패스워드 리셋하는 방법: blog
공부하다가 모르는 용어, 개념 정리
- 하드코딩
- 복잡하고 정리되지 않은 코드??
- 개발 환경/스테이징 환경/테스트 환경/운영 환경 구체적인 차이와 실제 예시로 이해하기
- 쿠키커터가 템플릿 그 이상의 기능이 있는지 찾기
- 쿠키커터 vs 삼단 저장소 구조(root/project/conf)
- virtualenv, pipenv 차이
- Django + Postgresql + MongoDB 구조 가능?? 관계형 DB와 문서형 DB 동시 연동
- 절대적 임포트, 명시적 상대, 암묵적 상대 비교, 이해하기
- 환경변수 정확하게 이해하기
- 앱 하나에 모델이 많을 때 일어나는 일, 부작용등을 알아보자
- 앱 분리하는 방법 터득
- 모델 상속