20211019

김찬울·2021년 10월 19일
0

https://github.com/pahkey/djangobook/tree/2-01

을 클론해온다.

django_workspace를 생성하고 해당 폴더에 클론해온 폴더를 넣는다.

또한 해당 폴더에서 pycharm 새로운 프로젝트를 만든다.

django_workspace에 들어가서

기존이 Power Shell이기에 cmd를 쳐서 커맨드 입력을 한다.

  • pip install django

이제 클론해온 곳에 가면 manage.py가 있는데 해당 py를 실행

  • python manage.py runserver ## 오류메세지로 migrate하라는 오류는 무시가능

이때 config의 setting에서 allow host를 바꾸고 debug 부분을 False로 바꾸자

debug는 오류 메세지 출력의 유무다.

-----------

또 이제 https://github.com/pahkey/djangobook/tree/2-02
다음 강의안 설치 (참고로 브런치에 다 있다)
sqlite를 사용한다.

db를 설치하고

  • python manage.py makemigrations pybo 를 하면
    마이그레이션되지 않은 것들을 pybo안에 만든다 그리고

db랑 pybo/migrations를 삭제한다.

삭제하는 이유는 어떤 일이 발생하는 지를 파악하기 위함이다.

간단히 이주를 시키면 db화(파이썬에서 쿼리대신 사용하는 명령어가 실행) = orm 된다.

  • python manage.py makemigrations pybo #확인해보기

  • python manage.py migrate #이주시키기

이후 sqlite로 해당 db를 살펴보면 key 2개가 생성됐다.

  • python manage.py shell

shell 열고

  • from pybo.models import Question, Answer

  • from django.utils import timezone

  • q = Question(subject="""오늘 점심은""", content= '''참치?''', * create_date=timezone.now())

  • q.save()

  • q.id #출력은 1

  • q = Question(subject="""오늘 저녁은""", content= '''삼겹살?''', create_date=timezone.now())

  • q.save()

  • q.id #출력은 2

를 순서대로 하나하나 입력한다.

중간중간 sqlite로 db보면 question 테이블에 value가 추가된 것을 볼 수 있다.
또는 shell 내에서

  • Question.objects.all()
    해당 코드 입력하기

  • exit()

다시 shell

  • python manage.py shell

  • from pybo.models import Question, Answer

  • from django.utils import timezone

  • Question.objects.all()#모두보기

  • Question.objects.filter(id=1)#다수 가능

  • Question.objects.get(id=1)#하나만 가져오기

#filter로 존재하지 않는 id=3을 호출하면 아무것도 안들어옴 오류는 없다.
#get으로 id=3을 호출하면 오류가 나온다.

profile
코린코린이

0개의 댓글