본문 바로가기
Study/Django

[장고 튜토리얼] #2. git, database, admin

by 이지이즤 2022. 4. 26.

 

**본 포스팅은 유튜브 명준MJ님의 python django tutorial 강의를 참고하여 작성하였습니다.**

https://docs.djangoproject.com/ko/4.0/intro/tutorial02/

 

git

깃 : 코드를 관리하는 형상 관리 도구. 코드작성 모든 히스토리 관리
깃헙 : 깃을 활용해서 많은 소스들을 관리해주는 저장소. 코드 공유, 협업

error: src refspec master does not match any
error: failed to push some refs to 'https://github.com/repo~'
-> 해결 방법
https://junheejang.tistory.com/221
https://0ver-grow.tistory.com/1102

첫번째 방법으로 해도 같은 에러 나길래
두번째 방법으로 함.

git add .
git commit -m "message"
git push origin main

 


 

데이터베이스

mysite/settings.py

데이터베이스 테이블 생성

 

 

모델 만들기

polls/models.py

Question  Choice 라는  가지 모델.
-> Question 에는 질문 내용과 셍성 날짜를 위한 두 개의 필드
-> Choice 는 선택지에 해당하는 질문과 투표 수를 위한 두 개의 필드

*  ForeignKey (외래 키)
  : Choice 가 하나의 Question 에 관계된다는 것을 Django 에게 알려줌.
    Question 이라는 데이터모델을 참조하겠다는 의미.
    Choice 내의 question 은 위에 생성된 Question 을 가리킴.
    하나의 Question 에 여러 개의 Choice 를 갖는 구조이므로 일-대-다.

* CASCADE
  : Question 이 삭제되면 Choice 의 question 도 삭제된다는 의미.

 

모델 활성화

mysite/settings.py

line34 추가

polls/apps.py

-> 여기있는 PollsConfig 를 등록하겠다는 의미임


데이터베이스 내의 테이블 생성

 

 

API 가지고 놀기

* API : 개발자가 필요로하는 데이터를 뽑아낼 수 있도록 만들어놓은 힘수,
         서버가 데이터베이스에게 데이터를 입력할 수 있도록 만들어놓은 함수

id는 자동생성됨

<Question: Question object (1)> 은 객체 표현 도움 안됨.

polls/models.py 에 __str__() 메소드를 추가해서 보다 효과적으로 객체 표현.

 

 


 

관리자

Django는 모델(데이터베이스)을 UI가 존재하는 화면으로 관리할 수 있게끔 admin을 만들어줌.

http://127.0.0.1:8000/admin/

 

 

댓글