목록분류 전체보기 (408)
오답노트
Template 사용자의 요청에 대해 View 함수에서 응답하는 HTML 파일을 장고에서는 템플릿이라고 한다. Template 환경설정 프로젝트 파일 아래 settings.py에 TEMPLATES를 확인하자. BACKEND는 템플릿을 만드는 엔진을 정의하는 곳이다. 여러 종류의 엔진이 존재하는데 스스로 찾아보자. 그리고 HTML 파일을 찾아가는 경로를 찾는 위치는 INSTALLED_APPS에 등록된 앱안에서 위에서부터 차례대로 들어가 templates 라는 폴더를 찾는다. 만약 앱안에 templates 라는 폴더가 없다면 다음 앱을 찾는 방식이다. 만약 모든 앱에 templates라는 폴더가 없다면 TEMPLATES에 DIRS에 위치를 지정한 곳에서 찾는다. 템플릿을 사용하려면 위 두 디렉토리중 하나에는..
View에서 Model 사용 모델은 테이블에 등록된 내용을 가져올 수 있는 object라는 객체가 존재한다. 이 object를 통해 view에 테이블 내용을 출력해보자. 우선 모델 객체를 반환할 때를 위해 다음과 같이 models.py에서 모델을 수정하자. 그리고 테이블에 등록된 항목을 받아오기 위해 views.py에 다음과 같이 함수를 생성하자. 이제 views.py에서 생성한 함수를 urls.py에 등록하여 접근할 수 있도록 하자. 주소창에 url을 통해 접속해 결과를 확인하자 Path 변수와 get()의 활용 저번 포스트에서 Path 변수를 통해 값을 받아올 수 있었다. 그리고 get()은 objects의 메소드로 테이블에서 id 기준으로 원하는 값만 조회할 수 있다. 우선 views.py 에서 P..
Model 설정 확인하기 Model은 쿼리를 사용하지 않고 테이블을 핸들링할 수 있다. 그러기 위해선 현재 장고가 어떤 DB를 사용하고 있는지 파악해야한다. 프로젝트 폴더 아래에 settings.py에서 DATABASES 를 확인하자. Django의 기본 데이터베이스는 sqlite이다. Django와 호환되는 다른 데이터베이스를 알고 싶다면 위 주석에 있는 링크를 찾아가보자 또한 INSTALLED_APPS 에도 앱이 추가되어 있는지 확인하자. Model 생성 모델은 앱 폴더 아래 models.py에서 아래와 같이작성하자. CharField 는 char형태로 250자 까지 사용 가능한 컬럼을 생성하고, TextField는 varchar형태로 제한없이 사용 가능한 컬럼을 생성한다. 컬럼을 생성하는 함수는 d..
기본적인 View 작성 View는 사용자에게 보여줄 화면에 대한 부분을 만드는 곳이다. 프로젝트 내의 앱 폴더의 views.py에 아래와 같이 작성해보자. 이제 이 View 연결된 Url에 접속하면 응답이라는 메세지가 출력될 것이다. 그렇다면 위 View에 연결된 Url을 정의 하도록 하자 이전 포스트에서 만든 앱의 urls.py에 다음과 같이 추가하자. 그리고 프로젝트의 urls에서 앱으로 연결되는 주소와 앱에서 View를 연결하는 주소를 연결하면 다음과 같은 화면이 출력된다. Path 변수 Path 변수는 URL 문자열 일부를 View 함수의 인자로 전달하기 위해 선언하는 변수이다. 이를 테스트하기 위해 아래와 같이 views.py에 함수를 만들었다. 여기서 num을 URL에서 받아 출력한다. 이 함..
설치 터미널을 열어 아래 와 같은 명령문을 입력하면 장고가 설치된다. pip install Django 장고 프로젝트 생성 터미널을 켜서 프로젝트를 생성할 폴더로 이동한다. 아래 커맨드를 입력해 프로젝트를 생성한다 django-admin startproject 프로젝트 파일로 이동해 프로젝트 생성을 확인한다. migrate 작업 python manage.py migrate 프로젝트 경로 내에서 위 커맨드를 입력한다. 장고 서버 실행 python manage.py runserver 프로젝트 경로 내에서 위 커맨드를 입력하면 장고 서버가 실행된다. 장고로 만든 결과를 확인하기 위해선 서버가 실행된 상태여야 한다. 장고 앱 생성 python manage.py startapp admin.py : 현재 앱의 모델..
Django Django는 파이썬 기반의 풀스택 프레임 워크다. 파이썬을 사용하기 때문에 배우기 쉽고, 많은 라이브러리와 프레임워크를 제공하여 쉽고 빠르게 개발할 수 있다. 또한 확장성이 뛰어나 복잡한 요구상하과 통합이 필요한 개발에 적합하다. 불필요한 중복을 없애고 많은 양의 코드를 줄여 유지보수가 쉽고 재사용하기 좋은 디자인 원칙과 패턴들을 사용한다. 리눅스, 윈도우 그리고 맥 OS 등등 다양한 운영체제에서 동작할 수 있고, 비밀번호, 세션, 크로스사이트 요청 위조등의 보안 취약점을 보완할 방법을 기본적으로 제공한다. Django의 서비스 처리 장고는 MVT 디자인 패턴으로 서비스를 처리한다. View 뷰는 사용자의 요청에 대한 서비스 처리를 담당하며, views.py 파이썬 스크립트에서 구현한다. ..
함수의 호출 과정 함수 실행 영역 (Execute Context Stack) 생성 매개변수, argments 변수 생성 및 초기화 선언적 함수 var this 코드 실행 var msg = 'global' function outer() { var msg = 'outter' console.log(msg) inner() function inner(){ var msg = 'inner' console.log(msg) } outer() //outter //inner 스코프와 스코프 체인 스코프는 유효 범위로 우선적으로 자기 자신의 컨텍스트에서 먼저 변수를 찾는다. 만약 변수가 존재하지 않으면 상위 컨텍스트에서 변수를 찾아 사용한다. 스코프 체인은 해당 코드의 스코프 안에 있는 변수를 정의하는 객체의 체인이다. va..
함수 정의하는 법 함수는 생성자 함수 방법, 선언적 함수 방법, 리터럴 함수 방법이 있다. var f1 = new Function("x","y","return x+y") // 생성자 함수 방법 console.log(f1(7,5)) function f2(x,y){ // 선언적 함수 방법 return x+y } console.log(f2(7,5)) var f3 = function(x,y){ // 리터럴 함수 방법 return x+y } console.log(f3(7,5)) 호이스팅 (Hoisting) 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미한다. var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화한다. 반면 let과 const로 선언한 변수의 경우 ..
JavaScript 자바스크립트는 동적인 웹페이지를 만들기 위해 사용하는 프로그래밍 언어이다. 데이터 타입 기본타입 number : 실수, 정수 모두 number다 string boolean undefined : 변수에 아무것도 할당되지 않으면 undefined이다. 참조타입 Array Function Date RegExp var a = 100 var b = 1.1 var c = 'c' var d = True var e console.log(typeof(a)) // number console.log(typeof(b)) // number console.log(typeof(c)) // string console.log(typeof(d)) // boolean console.log(typeof(e)) // un..
Kubernetes Object 가장 기본적인 구성단위로 상태를 관리하는 역할을 한다. 기본적인 오브젝트로는 Pod, Service, Volume, Namespace가 있다 . 오브젝트는 Spec(정의된 상태)와 Status(현재 상태)가 존재한다. Namespace는 단일 클러스터 내 리소스 그룹 격리를 위한 오브젝트이다. 이는 사용자가 여러 팀으로 구성하는 경우, 프로젝트를 진행함에 있어 환경을 분리 해야 하는 경우 사용한다. Kubernetes Controller 각 컨트롤러는 현재 상태(Status)를 정의된 상태(Spec)에 가깝게 유지하려 한다. 관찰 : 현재 상태를 관찰한다. 상태 변동 : 현재 상태와 정의한 상태를 비교한다. 조치 : 현재 상태를 정의한 상태로 변경한다. 그리고 다시 관찰 ..