웹 애플리케이션을 빠르게 개발할 수 있도록 도와주는 도구(기본 구조, 규칙, 라이브러리 등)기본적인 구조와 규칙을 제공하기 때문에 필수적인 개발에만 집중할 수 있음여러 라이브러리를 제공해 개발 속도를 빠르게 할 수 있음유지보수와 확장에 용이해 소프트웨어의 품질을 높임P
django project애플리케이션의 집합DB 설정, URL 연결, 전체 앱 설정 등을 처리django application독립적으로 작동하는 기능 단위 모듈각자 특정한 기능을 담당하며 다른 앱들과 함께 하나의 프로젝트를 구성MTV 패턴에 해당하는 파일 및 폴더를 담
데이터 표현을 제어하며 표현과 관련된 로직 담당: Template에서 조건, 반복, 변수, 필터 등의 프로그래밍적 기능을 제공하는 시스템Variableviews에 정의된 render함수에서 세번째 인자로 딕셔너리 타입을 넘길 수 있음(context)딕셔너리의 key에
URL 패턴을 정의하고 해당 패턴이 일치하는 요청을 처리할 view 함수를 mappingURL 일부에 변수를 포함시키는 것, 변수는 view 함수의 인자로 전달url에서 반복되는 부분이 많다면 이를 한번만 쓰고 바뀌는 부분을 변수로 받음<path_converter
DB의 테이블을 정의(구조 설계)하고 데이터를 조작할 수 있는 기능들을 제공SQLite오픈소스 RDBMS 중 하나이며 django의 기본 DB로 사용됨DB가 파일로 존재하며 가볍고 호환성이 좋음django.db.models 모듈의 Model이라는 부모 클래스를 상속받아
ORM(Object-Relational-Mapping)객체 지향 프로그래밍 언어를 사용하여 호환되지 않는 유형의 시스템 간에 데이터를 변환하는 프로그래밍 기술ORM에서 데이터를 검색, 필터링, 정렬 및 그룹화하는데 사용하는 도구API를 사용하여 SQL이 아닌 Pytho
HTTP : 네트워크 상에서 데이터를 주고 받기 위한 약속HTTP request methods : 데이터에 어떤 요청을 원하는지를 나타내는 것특정 리소스를 조회하는 요청(반드시 조회 시에만 사용)입력 길이 255자 제한GET으로 데이터 전달 시 Query String
사용자 입력 데이터를 수집하고, 처리 및 유효성 검증을 수행하기 위한 도구django에서 유효성 검사를 단순화하고 자동화할 수 있는 기능을 제공유효성 검사 : 수집한 데이터가 정확하고 유효한지 확인하는 과정Form은 사용자 입력 데이터를 DB에 저장하지 않을 때 사용.
HTTPHTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 규약이며 웹에서 이루어지는 모든 데이터 교환의 기초특징비연결 지향(connectionless) : 서버는 요청에 대한 응답을 보낸 후 연결을 끊음무상태(stateless) : 연결을 끊는 순간 클라이언트와
User 객체를 create, updatebuilt-in ModelForm인 UserCreationForm()과 UserChangeForm()을 사용이 두 Form의 모델 기본값은 원래의 User model이기 때문에 우리가 Custom한 User model을 적용시켜
서버 측에서 변경되지 않고 고정적으로 제공되는 파일(이미지, JS, CSS 등)웹 서버의 기본 동작은 URL에 있는 자원을 HTTP request(요청) 받아서 HTTP response(요청)을 처리하고 제공하는 것static file도 마찬가지로 이 정적 파일을 제공
N : 1 관계는 한 테이블의 0개 이상의 레코드가 다른 테이블의 레코드 한 개와 관련된 관계를 말함Comment(댓글) - Article(글)을 N : 1 관계의 예로 들 수 있음ForeignKey() : django에서 N 대 1 관계 설정을 위한 모델 필드Comm
Article(N) - User(1) & Comment(N) - User(1)N대 1 관계에서 Article과 Comment가 User를 참조하므로 Article과 Comment에 User를 참조할 FK 작성User 모델을 참조하는 2가지 방법get_user_model
의사-환자의 관계 예시N : M 관계인 model을 FK로 작성예약 생성 : Reservation.objects.create(doctor=doctor1, patient=patient1)예약정보 조회 : doctor1.reservation_set.all(), patien
User와 User의 관계 예시여기서 주의할 점은 url주소의 <str:username>/은 str 타입으로 다른 index, create도 모두 str으로 인식해버림django는 url을 위에서부터 아래로 읽으면서 해당하는 url이 나오면 그 url로 가므로 p
HTTP Request Methods > resource(자원)에 대한 행위(수행하고자 하는 동작)를 정의, HTTP verbs라고도 함 GET : 서버의 리소스의 표현을 요청(조회) POST : 데이터를 지정된 리소스에 제출, 서버의 상태를 변경(생성) PUT
Article과 Comment의 예시save(article=article): 'article' field는 user에게 입력받는 것이 아니므로 저장 시 해당하는 article 객체를 직접 넣어줘야 함'read_only_fields' 를 사용하여 외래키 필드를 읽기 전용
공식문서 참고기존의 방법과 같이 article 객체만을 넘겨주면 detail template에서 article의 user 참조, article의 comment 참조, 각 comment의 user 참조 등... 같은 쿼리문이 반복적으로 발생하게 됨특정 queryset A
사용자로부터 이미지 또는 파일을 여러 개 입력받을 때 사용할 수 있는 방법을 정리해보았다.아래의 예시는 이미지 예시이다.가게에 대한 리뷰를 작성하는 Review 모델과, 리뷰에 대한 이미지를 저장하는 ReviewImage 모델을 정의Review모델과 ReviewImag