개념2

Mkim4·2023년 4월 12일
1

객체지향 프로그래밍이란?

이 개발 방법은 프로그램이 어떻게 작동해야 하는지 모든 것을 하나하나 지시하는 것 대신, 모델을 만들어 그 모델이 어떤 역할을 가지고 어떻게 행동해야 하는지 정의하여 서로 알아서 상호작용할 수 있도록 만드는 것입니다.

그렇다면 객체란 무엇일까요? 객체란 속성과 행동을 모아놓은 것이라 할 수 있어요.
기본적으로 객체지향설계 개념은 현실에 존재하는 것을 속성과 행위로 나타내는 것입니다. 여기서 속성은 객체 속성(properties), 행위는 메서드(methods)로 구현됩니다.

그렇다면 블로그 글을 모델로 만들 수 있을까요?
우리는 다음 질문에 답할 수 있어야 해요: 블로그 글이란 무엇일까?
어떤 속성들을 가져야 할까?

블로그는 제목과 내용이 필요하죠? 그리고 누가 썼는지도 알 수 있게 작성자(author)도 추가하면 좋을 것 같아요. 마지막으로, 그 글이 작성된 날짜와 게시된 날짜도 알면 좋겠어요.

Post(게시글)
--------
title(제목)
text(내용)
author(글쓴이)
created_date(작성일)
published_date(게시일)하세요

블로그 글로 할 수 있는 것은 어떤 것들이 있을까요?
글을 출판하는 메서드(method)가 있으면 좋겠죠?

그래서 우리는 publish메서드도 만들어야 합니다.

class 는 객체를 정의한다는 것을 알려준다. 클래스 이름의 첫 글자는 대문자로 써야한다.

def 는 함수/메서드라는 뜻, 메서드는 return을 자주 쓴다.

템플릿이란 서로 다른 정보를 일정한 형태로 표시하기 위해 재사용 가능한 파일을 말한다. 장고 템플릿 양식은 HTML을 사용한다.

각 HTML 페이지는 두 가지 요소, head와 body로 구분됩니다.
head 는 문서 정보를 가지고 있지만, 웹 페이지에서 보이지 않는 정보들을 담는 영역입니다.
body 란 웹 페이지에 직접적으로 보이는 내용이 들어갑니다. 웹 페이지의 내용은 모두 이 body태그안에 들어갑니다.

쿼리셋이란?

쿼리셋(QuerySet)은 전달받은 모델의 객체 목록입니다. 쿼리셋은 데이터베이스로부터 데이터를 읽고, 필터를 걸거나 정렬을 할 수 있습니다.
쿼리셋의 중요한 기능은 데이터를 필터링하는 거예요.
쿼리셋 연결하기가 뭐지?

블로그 글은 각각 다른 장소에 조각조각 나눠져있어요. Post모델은 models.py파일에, post_list모델은 views.py파일에 있어요. 그리고 앞으로 템플릿도 추가해야 합니다. HTML 템플릿에서 글 목록을 어떻게 보여줄까요? 이번 장에서는 콘텐츠(데이터베이스 안에 저장되어 있는 모델)를 가져와 템플릿에 넣어 보여주는 것을 해볼 거에요.

뷰(view)는 모델과 템플릿을 연결하는 역할을 합니다. post_list를 뷰에서 보여주고 이를 템플릿에 전달하기 위해서는, 모델을 가져와야 합니다. 일반적으로 뷰가 템플릿에서 모델을 선택하도록 만들어야 합니다.

from 다음에 있는 마침표(.)는 현재 디렉토리 또는 애플리케이션을 의미합니다. 동일한 디렉터리 내 views.py, models.py파일이 있기 때문에 . 파일명 (.py확장자를 붙이지 않아도)으로 내용을 가져올 수 있습니다.

템플릿 태그란?

템플릿 태그는 파이썬을 HTML로 바꿔주어, 빠르고 쉽게 동적인 웹 사이트를 만들 수 있게 도와주어요.

파이프 문자란?

|linebreaksbr같이 파이프 문자(|)도 사용해요. 이건 블로그 글 텍스트에서 행이 바뀌면 문단으로 변환하도록 하라는 의미입니다. 행바뀜을 문단으로 변환하는 필터를 적용한다는 표현을 쓰기도 합니다.

profile
귀요미 개발자

0개의 댓글