초초초초총정리 백엔드

김나현·2024년 10월 7일
1


django-admin startproject 프로젝트명 .

점의유무
점을 안찍으면 프로젝트명의 폴더가 생기고 안생기고 차이

'rest-framework',부터 추가,
앱이름, 추가


AbstractBaseUser는 password와, last_login만 존재

널트루
데이터베이스에도 빈칸을 허용한다.

블랭크트루
사용자 입력값의 빈칸을 허용한다.

모델이 먼저 가장 베이스가 되어야 된다. 틀이 되고 데이터베이스에 틀을 다룬다.


AUTH_USER_MODEL = 'user.CustomUser' 오타

커스텀한 유저모델은 settings.py에 선언해주기


3번줄 contrib 오타

models.Model?

Django에서 데이터베이스 테이블을 정의하는 데 사용하는 기본 클래스
즉, 이걸 상속받아서 하나의 테이블처럼 사용할 수 있는 모델을 만들 수 있다. 각 필드(field)는 데이터베이스의 열(column)에 대응하고, 하나의 모델 객체(object)는 데이터베이스의 행(row)에 대응.

쉽게 말해서 models.Model을 사용하면 파이썬 코드로 데이터베이스 구조를 정의할 수 있는 것. 그리고 Django는 자동으로 SQL을 생성해서 데이터베이스와 상호작용할 수 있게 해준다.

모델에서 정의된 필드는 테이블에서 데이터가 들어갈 자리를 정의하고, 실제로 모델의 객체가 생성되면 그 객체는 테이블의 한 행으로 저장된다고 보면 됨.

CharField는 max_length 지정해주기

글(post)와 작가(writer) 관계?
n : 1 관계

글n개 작가1명 (작가는 여러개의 글을 쓸 수 있다)
1에 해당하는 곳에 정의한다.
n에 해당하는 곳에 ForeignKey

유저모델을 가져다가 쓸때
2번줄 직접 파이썬 문법으로 가져온것
3번줄 현재 사용하는(동작하는) 유저 모델? == settings.py에 선언한 모델
4번줄 settings에 선언되있는 변수값 가져온 것, 문자열 "user.CustomUser"

models.py 에서는 3번줄 사용불가능.
유저모델은 함수다-호출될때 실행

런타임 상태란?

런타임 상태는 프로그램이 실제로 실행되고 있을 때의 "상태"를 의미해요. 프로그램이 실행될 때는 다양한 정보와 데이터가 필요하고, 그 정보들이 어떤 모습인지, 어떤 값을 가지고 있는지를 나타내는 것이 바로 런타임 상태입니다.

좀 더 구체적으로
변수 값: 프로그램에서 사용하는 숫자나 문자열 같은 것들이에요. 예를 들어, 게임에서 플레이어의 점수를 저장하는 변수의 값이 현재 100이라면, 그 값이 런타임 상태에 포함됩니다.

메모리: 프로그램이 실행되면, 컴퓨터는 필요한 메모리를 할당해요. 여기에는 두 가지 종류가 있어요:

스택: 함수가 호출될 때마다 생성되는 메모리 공간입니다. 함수가 끝나면 이 공간은 사라져요.
힙: 필요한 만큼 메모리를 동적으로 할당받는 곳입니다. 예를 들어, 사용자에게 입력받은 데이터를 저장할 때 사용되죠.
실행 흐름: 현재 어떤 코드가 실행되고 있는지, 즉 어떤 함수가 호출되고 있는지를 나타내요. 프로그램이 처음 시작할 때부터 어떤 경로를 따라 진행되고 있는지를 의미합니다.

입력과 출력: 사용자로부터 입력을 받거나, 화면에 정보를 출력하는 상태도 포함됩니다. 예를 들어, 사용자가 버튼을 클릭했을 때, 그 클릭 상태도 런타임 상태의 일부분이에요.

왜 중요한가요?
런타임 상태를 이해하는 것은 프로그램의 동작을 잘 이해하고, 문제가 생겼을 때 이를 해결하는 데 도움이 됩니다. 예를 들어, 프로그램이 잘못된 값을 출력할 때, 현재 변수 값이나 실행 흐름을 확인하면 왜 그런 문제가 발생했는지를 알 수 있습니다.

profile
참 쉽죠? #개발계의 밥아저씨를 꿈꿉니다⋆⁺₊⋆ ☾⋆⁺₊⋆

0개의 댓글