no image
[Django] Model
# 목표 : Model의 핵심 개념과 ORM을 통한 데이터 베이스 조작 이해 Django는 웹 애플리케이션의 데이터를 구조화하고 조작하기 위한 추상적인 계층을 제공 목차 1. Database 2. Model 데이터를 구조화, 조작하기 위하여 Database에 대해 간단하게 알아보고 넘어가자. 심화 내용은 다음에! 1. Database 체계화된 데이터의 모임 검색 및 구조화 같은 작업을 보다 쉽게 하기 위해 조직화된 데이터를 수집하는 저장 시스템 # 기본 구조 1. 스키마(Schema) 뼈대(Structure) 데이터베이스에서 자료의 구조, 표현 방법, 관계 등을 정의한 구조 2. 테이블(Table) 필드와 레코드를 사용해 조직된 데이터 요소들의 집합 관계(Realation)라고도 부른다. 필드(field..
2022.09.04
no image
[Django] NameSpace
목표 : 개체를 구분할 수 있는 범위를 나타내는 namespace(이름 공간)에 대한 이해 목차 1. URL namespace 2. Template namespace # Namespace의 필요성 두번째 app pages의 index 페이지를 작성해보면 어떤 문제가 발생하는지 확인할 수 있다. 위와 같이 작성을 하고 확인해보면 articles app index 페이지에 작성한 두번째 앱 index로 이동하는 하이퍼 링크를 클릭 시 현재 페이지로 다시 이동한다. URL namespace pages app의 index url (http://127.0.0.1:8000/pages/index/)로 직접 이동해도 articles app의 index 페이지가 출력됨 Template namespace 1. URL na..
2022.09.03
no image
[Django] URL's
목차 1. URL? 2. App URL mapping 3. URL pattern 4. Django의 설계 철학과 Framwork 성격 이전 글에서 데이터를 url을 통해 요청하고 받는다고 배웠다. url의 작성방법에 대해 자세히 알아보자. 1. URLs? 목표 : "Dispatcher(운행 관리원)로서의 URL 이해하기 웹 어플리케이션은 URL을 통한 클라이언트의 요청에서부터 시작함 Trailing URL Slashes Django는 URL 끝에 /가(Trailing slash) 없다면 자동으로 붙여주는 것이 기본 설정 따라서 모든 주소가 '/'로 끝나도록 구성되어있음 모든 프레임워크가 이렇게 동작하는 것은 아님 Django의 url 설계 철학을 통해 먼저 살펴보면 다음과 같이 설명함 "기술적인 측면에서..
2022.09.03
no image
[Django] Form Data
목차 1. sending and retrieving form data 2. sending form data(Client) 3. Retrieving the data(Server) 장고를 사용하며 기본 문법과 구성에 대해서 공부하였다. 이제는 핵!심!이라고 볼 수 있는 data를 어떻게 주고 받는지에 대해서 알아보자. 1. Sending and Retrieving form data 말 그대로 "데이터를 보내고 가져오기"이다. HTML form element를 통하여 사용자와 애플리케이션 간의 상호작용을 이해하자 Client & Server architecture 웹은 다음과 같이 가장 기본적으로 클라이언트-서버 아키텍처를 사용한다. 클라이언트(일반적으로 웹 브라우저)가 서버에 요청을 보내고, 서버는 클라이언..
2022.09.03
no image
[Django] Template2 - Inheritance(상속)
목차 1. Inheritance 2. example 프로젝트를 진행하며 기본 구성과 같은 같은 코드를 매번 같이 치는 것은 귀찮고 불편한 일이다. 파이썬 class를 배우며 이런 불편함을 해소하기 위하여 함수와 class에 대해서 배웠는데 Django에서도 Class선언을 하여 상속을 해줄 수 있다는 것을 알게 되었다!! 1. Inheritance 템플릿 상속은 기본적으로 코드의 재사용성에 초점을 맞춤 템플릿 상속을 사용하면 사이트의 모든 공통 요소를 포함하고, 하위 템플릿이 재정의(override) 할 수 있는 블록을 정의하는 기본 'skeleton' 템플릿을 만들 수 있음 관련 태그 {% extends 'skeleton name' %} - 자식(하위) 템플릿이 부모 템플릿을 확장한다는 것을 알린다. ..
2022.09.03
[백준 1654] 파이썬 - 랜선 자르기
https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net ## 조건 - 캠프 때 쓸 N개의 랜선을 만들어야 한다. - 이미 자체적으로 가지고 있는 K개의 랜선을 이용하여 N개 이상의 랜선을 만든다. - 항상 센티미터 단위로 정수 길이만큼 자르며, 만들 수 없는 경우는 없다. - 최대 랜선 길이를 구하여라 ## 접근방법 - 처음에는 평균값을 구한 후, -1씩 해주면서 주어진 개수를 만족시키는 값을 구하려고 하였지만 시간초과! ..
2022.09.02
no image
[Django] Template1 -DTL
목차 1. Template? 2. DTL? 3. 간단한 실습 1. Template? Django Template의 정의는 "데이터 표현을 제어하는 도구이자 표현에 관련된 로직"이라고 말할 수 있다. Django Template을 이용한 HTML 정적 부분과 동적 콘텐츠를 삽입 Template System의 기본 목표를 숙지하자 Template System이란 데이터 표현을 제어하는 도구이자 표현에 관련된 로직을 담당하는 것으로 Template의 정의로 보면 된다.. 2. Django Template Language(DTL) Django template에서 사용하는 built-in template system 조건, 반복, 변수 치환, 필터 등의 기능을 제공한다. python 처럼 일부 프로그래밍 구조(i..
2022.09.01
no image
[Django] 요청과 응답
목차 1. View와 URL 2. Templates 3. 추가 설정 앞에서 봤듯이 우리는 Django를 이용하여 사용자가 원하는 데이터를 요청하면 우리는 응답을 하며 데이터를 제공할 것이다. 이 과정을 URL -> VIEW -> TEMPLATE 순서로 코드를 작성해보며 데이터 흐름을 이해해볼 것이다. 1. VIEW 웹 페이지에서 하이퍼링크를 통하여 다른 페이지로 이동하기 위해서는 URL이라는 주소를 적어주어야 한다. 프로젝트 폴더 - urls.py의 urlpatterns 리스트 내에 경로 지정 path('app name/', include('app name.urls')) 사용할 앱 폴더 - urls.py 내에 모듈을 import해준다. from 'app name' import views 마찬가지로 앱 폴..
2022.09.01
no image
[Django] 가상환경 및 시작하기
목차 1. 가상 환경이란? 2. gitignore 3. 가상 환경 시작 및 기본 설정 4. 폴더 구조 1. 가상 환경 파이썬을 사용하다 보면 pip로 패키지를 설치하게 되는데 이 패키지들은 파이썬 설치 폴더(디렉터리)의 Lib/site-packages 안에 저장된다. 그래서 pip로 설치한 패키지는 모든 파이썬 스크립트에서 사용할 수 있게 된다. 평소에는 이런 방식이 큰 문제가 없지만 프로젝트를 여러 개 개발할 때는 패키지의 버전 문제가 발생한다!! 예를 들어 프로젝트 A에서는 패키지 X 1.5를 사용해야 하고, 프로젝트 B에서는 패키지 X 2.0을 사용해야 하는 경우가 생기는데 이 패키지X 1.5와 2.0은 호환이 되지 않는다면 개발하기가 상당히 불편해진다. 이런 문제를 해결하기 위해 파이썬에서는 가상..
2022.09.01