클라이언트(웹 브라우저)에서 우리에게 보여주는 화면은 무엇으로 구성되어 있나요?우리가 클라이언트를 통해서 보는 화면은 html 태그로 만들어져 있습니다. 웹브라우저는 html을 사용하기 때문이죠. 그러니 우리가 만드는 웹 어플리케이션의 응답도 이러한 html로 구성되어야 합니다. 그래서 이 응답을 받은 클라이언트가 받은 응답을 해석해서 우리에게 보여주는 것입니다. 템플릿 폴더 생성하기위의 상황처럼 응답에 사용할 html 파일을 템플릿이라고 합니다. 이러한 템플릿은 어디에 위치해야할까요? "앱폴더 > templates > 앱폴더 > 템플릿 파일" 형태로 되어야 합니다. 즉 우리 튜토리얼의 경우엔 reading 폴더 밑에 templates라는 폴더를 만들고, 다시 templates 폴더 안에 reading이..
우리가 만드는 파일에 대해서 생각해봅시다.저번 포스팅 까지는 reading이라는 앱의 이름만 세팅에 추가하고 어떤 앱 인지 무엇이 필요한 지는 다루지 않았습니다. 이제 모델을 정의하기 전에 미리 여러가지를 생각해보고 모델을 정의해보도록 하겠습니다. 리딩 애플리케이션은 책에 나오는 좋은 글귀를 보여주는 앱입니다. 2가지 클래스가 필요합니다. 바로 "책"과 "좋은 글귀"입니다. 책에는 어떤 정보들이 담겨야 할까요? 제가 생각하기엔 책의 이름과 작가, 간단한 책 설명이 있으면 될 것 같군요. 좋은 글귀에는 어떤 정보들이 필요한가요? 이 글귀가 나온 책이 무엇인지 또 그 글귀가 무엇인지만 알면 됩니다.모델 정의하기위에서 정의한 것들을 직접적인 형태로 바꿔보겠습니다. 우리는 2개의 테이블이 필요합니다. Book과..
프로젝트를 시작해봅시다.django-admin으로 사용할 수 있는 명령어들 중에서 startproject라는 옵션이 있습니다. 이 옵션을 통해서 프로젝트를 시작할 수 있습니다. django-admin startproject mysite . 저번 포스팅에서는 가상환경을 만들었습니다. 만든 가상환경 디렉토리 내에서 mysite라는 프로젝트를 만들기 위해서 꼭 맨 뒤에 .(점)을 붙여주세요 그럼 디렉토리 안에 mysite라는 디렉토리가 생겨나고 그 안에 _init_.py, settings.py, urls.py, wsgi.py가 생깁니다. 현재 파일은 아래와 같습니다. 가상환경 디렉토리/manage.py 장고관련 명령어들을 처리하는 파일mysite/__init__.py 디렉토리를 패키지처럼 다루라고 알려주는 파..
가상환경을 우선 다운로드 해보겠습니다.저는 pipenv를 통해서 가상환경을 만든 뒤에 가상환경 안에서 장고를 다운로드 받았습니다. 장고를 글로벌하게 다운로드 했을 시엔 다른 버전의 장고를 사용하게 되었을 때 기존의 프로젝트들이 영향을 받을 수도 있고, 파이썬 애니웨어와 같은 사이트로 옮길시에도 더 환경을 세팅하는게 편하다고 느껴져서 입니다. 가상환경을 구축하기 위해 다른 것을 사용하셔도 되지만 장고가 처음이고, 파이썬이 익숙하지 않다면 pipenv 다운로드 부터 천천히 따라해주시면 됩니다. python3 -m pip install pipenv==2018.5.18 2018.10.08 현재 pip 18.1 버전과 pipenv 2018.7.1 버전이 에러가 나는 것 같아서 이전 버전을 지정했습니다. 가상환경 ..
MVT 패턴은 MVC 패턴과 똑같습니다.장고는 MVC 패턴을 기반으로 하고, 이름만 MVT 패턴이라고 이전 포스팅에서 간략하게 설명했습니다. 이번 포스팅에서 다운로드를 하기 전에 패턴에 대해서 공부하고 다음 포스팅에서 장고를 다운로드 해보겠습니다. MVC 패턴은 Model, View, Controller의 앞 글자를 딴 말로 Model에서는 데이터 저장 및 수정, 변경, 삭제 등의 일이 일어나는 데이터베이스 부분입니다. 그리고 Controller에서는 로직을 담당합니다. 데이터의 변경이 필요한 부분에서는 모델에 요청하고 그 결과값을 받고, 그냥 html 문서만 보여주면 되는 순간에 그러도록 명령합니다. View 부분이 화면의 UI를 담당하는 부분입니다. 사용자에게 실질적으로 보여지는 부분이라고 생각하시면..
개발속도를 생각한다면 당연 파이썬의 장고입니다.신속한 것이 우선일까 아니면 정확한 것이 우선일까 하는 질문을 받은 적이 있습니다. 신속정확이냐 아니면 정확신속이 맞냐하는 질문이었죠. 상황에 따라서 그 대답은 달라지겠지만 워낙 빠르게 움직이는 it 세상에서는 신속이 먼저고 정확은 그 다음이라고 생각합니다. 사업적인 면에서도 그렇지 않을까요? 빠르게 만들어보고 일단 검증을 받으면서 고쳐나가는게 더 좋다고 생각합니다. 파이썬의 대표적인 프레임워크인 장고는 이러한 경우엔 당연 1순위입니다. 많은 것들이 미리 갖춰져있기 때문에 아주 빠르게 개발할 수 있습니다. 많은 것이 미리 갖춰져있기 때문에 좀 더 무겁다면 무거운게 단점이랄 수도 있겠지만요.개발속도 뿐만 아니라 장고를 선택해야하는 이유많은 사람들이 장고를 선택..