Django

장고프로젝트를 처음 시작할 때

  1. 프로젝트를 시작할 폴더를 만들고 해당 폴더로 이동한다.
  2. git init
  3. gitignore작성 / gitignore 내부에서 가장 상단에 # Custom 쓰고 다음줄에 .idea/ 입력해준다.(파이참 관련 파일인데 custom 으로 추가해 줘야함)
  4. pyenv virtualenv 3.6.2 가상환경이름 으로 가상환경 생성(3.6.2는 python 버전, 다른 버전도 설치 가능하다)
  5. pyenv local로 가상환경 적용
  6. git hub에 프로젝트 저장소 추가
  7. 로컬 git에 remote 저장소 생성
  8. pip freeze requirements.txt
  9. pycharm해당 프로젝트 폴더에 interpreter설정

9-25

장고에서는 View를 Template, Controller를 View라고 한다.

09-26

-> settings.py에 옵션을 지정해 주고 난 이후에 html파일에 적용해주기 위해서는 해당 html파일 가장 위쪽에 {% load static %}를 적어 주어(import하는 것 같이) 해당 파일 안에서 static탬플릿태그를 사용할 수 있게 한다.

-> html파일에서 css파일을 연결해 주는 link태그의 경우 다음과 같이 static탬플릿태그를 사용하여 적용시켜준다.<link rel="stylesheet" href="{% static 'bootstrap/css/bootstrap.css' %}">와 같은 방식으로 루트를 지정해 준다. (해당 루트에 대한 설명: static은 탬플릿태그 settings.py에 지정한 루트를 말하는 태그, settings.py에 지정된 기본루트 폴더인 static을 기준으로 그밑에 btootstrap/css…순으로 루트가 지정되는 것)

10-10

마이그레이션 삭제 관련 (협업시에는 기록으로 남겨준다)

*을 통해 import 할 경우 ->

모듈에서 import한 모듈까지 모두 import 하게 된다. 이런점을 막기 위해 import의 대상이 되는 각 모듈 안쪽에 아래 코드를 작성

__all__ = ('모듈이름')

패키지 안쪽 __init__모듈 파일에 패키지 내부의 모듈을 import 해서 패키지 안의 모듈을 자동으로 import 할 수 있게 만들어 다른 import시 모듈 이름을 건너뛰고 모듈 안의 메서드를 바로 import할 수 있게 만들 수 있다.

ex) 다른 모듈에서 작성한 패키지 안의 메서드를 import 할 경우 각각의 경우에 따라서 다음과 같이 import할 수 있다.

init에 클래스를 import하지 않았을 때

 models.choices.Person

import 했을 때

models.Person