본문 바로가기
내일배움캠프 AI 웹 프로그래밍

내일배움캠프 35일차 TIL_django 기초강의를 못들었다면...

by thriveview 2023. 9. 22.

부지런해야 한다.

남들 django 기초 강의들었을 때 딩가딩가했던 나의 죄로 ㅠㅠ 

튜터님 붙잡고 늘어져서 정말 초초 기본만 이해했다 일단은

쩃든 개인 프젝은 완성해야하니까!!! 

 

🌏 django 속성 강의
🌑데이터베이스 - 엑셀처럼 생겼음
데이터 저장 + 그 데이터값이 있어야 그 토대로 사용할 수 있음
데이터베이스를 만들줄 알아야해 

python manage.py migrate #migrate 먼저하고 나서 진행

migrate하고 db.sqlite3 클릭


중요한건 models.puy / urls.py / views.py  이 3개는 기본 django의 핵심이며 보통 이 3가지로 가능

최소한 이건 알아야 뭘 만들 수 있어


<models.py>
테이블 생성
class 생성하고자하는 테이블 이름(models.Model): #models.Model을 상속받아서 생성 

class는 붕어빵 틀이라고 기억하자

테이블을 보면 id는 자동으로 생성된다 id는 pk 라고도 부름
pk = id, primary key의 약어이며,  기본키를 의미한다. (데이터베이스 용어임)  

실질적인 데이터베이스 테이블을 만들기 위해서는 class가 필요하다 
왜냐? class를 상속받아서 데이터베이스 테이블을 만드는것이다 
그리고 데이터베이스 테이블은 이미지 자체는 저장하지 않고 이미지에 저장되어 있는 위치를 저장해준다 

그 이유는 아주 간단한데... 데이터베이스는 중요하다 중요한 파일이 엄청 많이 담겨져있다
예를들어, 티스토리 데이터베이스는 수천억개이상이 저장되어 있고 이미지로 저장할경우 너무 느려진다.

문자로 그 경로만 저장하는 이유가 여기있다.

blank = True 와 같이 데이터베이스 테이블을 보면 옵션 지정가능

<setting.py>
여기 에다가 필요한 세팅을 적어놓은 부분
즉,장고 모델링이라함은 데이터베이스를 만드는 일을 하는 것이다 

<urls.py>
 무조건 urlpatterns 라는 리스트를 만들어야 하고 여기는 우리가 쓸 주소를 담아놔야한다. django가 만들어놓은 규칙이라고 이해하자

urlpatterns = 다음에 path 가 올 수 있고 3개가 올 수 있다 

화면이 바뀔때마다 url이 바뀌는 것처럼 그 모든 url 들을 모아 놓은 것이다.
그리고 바뀌는 화면에 해당하는 코드를 어디에 저장해놨는지 urls.py로 확인가능하다.




POST 는 데이터베이스를 저장하거나 수정할때 사용 
framework 미리 만들어둔거를 가져다 쓰는거라고 (간단히 이해를 해보자 ^^)

참고: form 과 serializer는 비슷하다 

serializers.py 라는 파일에 내가 serialize 할 것들 모아둠

foreignkey - 1:N 관계 (바람둥이느낌)
하나의 유저가 게시글을 많이 만들면 그게 1:N관계
유저아이디를 그 유저가 쓴 모든 게시글에 유저아이디쓰면 번거로우니까 그 유저아이디의 해당 id(dk)를 써놓음

1:N 관계 (댓글, )
1:1 관계 (보통, 하나의 유저는 하나의 프로필을 쓴다. 프로필은 유저네임이 있고 페이지가 있다.) 
M:N 관계 (태그)