실습 설명 이런! 코스토랑 메뉴판의 날짜가 과거에 머물러 있네요. 매일 자동으로 웹 페이지의 날짜가 변경 되도록 변경해 주세요. view에서 데이터를 가공해서 template으로 넘겨 화면에 표시하면 됩니다. 아래를 참고하면서 각 단계가 어떤 역할을 하는지 생각하며 작성해 주세요. views.py의 index view를 수정합니다. 아래를 참고하여 datetime 모듈을 이용해 오늘 날짜를 가져와서 today 변수에 담아 주세요 today를 Key로 하고 가져온 날짜를 value로 하는 사전형 데이터를 만들어서 context 변수에 담아 주세요. render() 함수의 세 번째 인자로 context 데이터를 템플릿으로 전달해 주세요. index 템플릿을 열고 날짜가 표시되는 부분을 템플릿 변수를 이용해 ..
실습 설명파이썬 함수 사용 팁파이썬의 함수에는 크게 네 가지 형태가 있습니다.함수를 정의하는 네가지 방법1. 매개변수와 반환 값이 없는 형태가장 기본 형태는 아래와 같습니다. 매개변수도 없고 반환 값도 없는 형태로 호출할 때는 함수명()을 이용해서 호출합니다.def 함수명(): 로직 ... #example def greetings(): print("Hello!") 2. 매개변수는 없지만 반환 값은 있는 형태매개변수는 없지만 반환 값은 있는 형태도 있습니다. 마찬가지로 호출할 때는 함수명()을 이용하면 됩니다.def 함수명(): return 반환 값 #example def get_pi(): pi = 3.141592 return pi 3. 매개변수는 있지만 반환 값이 없는 형태매개변수는 있지만 반환값이 없는..
실습 설명 아래를 참고해서 코스토랑의 템플릿을 작성해 주세요. 천천히 흐름을 이해하며 각 단계가 무엇을 의미하는지 생각해 보세요. menus/index.html 을 렌더해서 결과로 돌려주도록 index View를 수정해 주세요. index.html 템플릿을 완성해 주세요. 서버를 실행하고 /menus로 접속해서 다음과 같이 화면이 잘 나오는지 확인해 주세요. 정적 파일과 템플릿의 디렉토리 구조 Django에서 권장하는 템플릿과 정적파일이 들어가는 디렉토리 구조는 아래와 같다. /templates//template files /static//static files View 작성하기 render 함수의 두번째 인자로 menus/index.html 경로로 전달한다. # costaurant/menus/views..
Template Language 한 걸음 더 템플릿 언어 (Template Language)는 Django의 템플릿에서 사용 할 수 있는 특별한 문법으로 템플릿 변수, 템플릿 필터, 템플릿 태그, 템플릿 코멘트가 있습니다. 이번 노트에서는 템플릿 변수와 필터 그리고 태그에 대해 조금 더 알아볼텐데 아래 내용을 모두 외우려고 하지 말고 '이런 식으로 사용하는구나' 정도로만 가볍게 읽어보세요! 템플릿 변수 (Template Variable) {{ variable }} 템플릿 변수는 템플릿이 렌더될 때 해당 변수가 의미하는 값으로 변환됩니다. 뷰(View)에서 가공한 데이터를 템플릿으로 넘겨주면 템플릿에서는 템플릿 변수를 사용해 넘겨받은 데이터에 접근할 수 있습니다. 템플릿 변수의 점(.) 연산자 템플릿 변수..
실습 설명 여러분은 코스토랑의 사이트 개발을 맡은 개발자입니다. 코스토랑에 신 메뉴가 대거 추가되었다고 홈페이지 업데이트를 요청하네요. index.html을 수정해서 현재 없는 모든 음식을 추가해서 메뉴를 완성해 주세요. 사진은 정적파일 경로인 static/foods/images에 있습니다. 음식 이름과 설명, 가격 등은 모두 여러분의 자유입니다! 맛있게 작성해 주세요! banana.jpg bibimbap.jpg burger.jpg chicken.jpg croquette.jpg pumpkin_soup.jpg sushi.jpg costaurant > foods > templates > foods > index.html {% load static %} July 16, 2020 코스토랑 넌 코딩할때가 제일 이..
실습 설명아래를 참고해서 costaurant 프로젝트에 URL을 연결하고 알맞은 view를 호출하도록 작성해 주세요. 단순히 코딩만 하는 것이 아닌 흐름을 이해하면서 각 단계가 무엇을 의미하는지 생각해 보세요. 1. 프로젝트 앱의 urls.py에 'menus/' 라는 URL 패턴과 매칭이 되면 menus 앱의 urls.py를 보도록 작성해 주세요. 2. menus 앱에는 urls.py가 아직 없습니다. 새로 생성해 주세요. 3. menus 앱의 urls.py에 ' ' (아무것도 없는 빈 문자열) URL 패턴과 매칭이 되면 menus 앱의 views.py 안에 있는 index view를 호출하도록 작성해 주세요. 4. 아래를 참고해서 menus 앱의 views에 코스토랑 오픈! 을 결과로 돌려주는 inde..
1. 웹 개발은 유저에게 보여지는 부분인 프론트엔드와 데이터와 로직을 담당하는 백엔드가 있으며, Django는 프론트엔드와 백엔드 모두 개발이 가능한 풀스택 프레임워크 입니다. 2. 클라이언트인 웹 브라우저의 요청이 들어오면 서버에서 동작하는 Django는 URL을 보고 알맞은 로직을 처리합니다. 3. Django는 맨 처음 url을 보고 알맞은 메인 로직을 처리하는 view를 호출합니다. view에서는 필요하다면 model을 통해 데이터베이스와 소통하고 처리한 데이터를 화면을 담당하는 template과 함께 렌더해서 최종 화면을 만든 후 view를 통해 클라이언트 에게 응답으로 돌려줍니다. 이러한 Django의 구조를 mvt아키텍처 라고 합니다.
아키텍처 패턴(Architecture Pattern)아키텍처 패턴(Architecture Pattern)은 소프트웨어 내부에 존재하는 구조적인 패턴을 말하는데요. 쉽게 말해서 오랜 시간 개발된 다양한 소프트웨어들이 결국 내부적으로 비슷한 구조를 갖게 되는 경우가 많다는 점이 발견되었고 발견된 구조들을 일반화해서 범주를 나눠 놓은 것입니다. 대표적인 10가지 아키텍처 패턴은 아래와 같습니다. 계층화 패턴(Layered pattern) 클라이언트-서버 패턴 (Client-server pattern) 마스터-슬레이브 패턴 (Master-slave pattern) 파이프-필터 패턴 (Pipe-filter pattern) 브로커 패턴 (Broker pattern) 피어 투 피어 패턴 (Peer-to-peer pa..
메인 페이지 지금 우리 서버를 실행하고 처음 들어가면 아래와 같은 페이지가 보이는데요, 마치 에러 페이지처럼 보이지만 사실 이 페이지가 에러가 난 것은 아닙니다. 지금 우리가 접속한 주소는 만약 여러분이 로컬 환경이라면 127.0.0.1:8000, 한 번 천천히 살펴보겠습니다. "Using the URLconf defined in costaurant.urls" 라고 보이죠? 그러니까 지금 보고 있는 이 페이지는 costaurant.urls에 명시 되어 있는 것을 보고 보여준 페이지 인데, "Django tried these URL patterns, in this order: 1. admin/ 2. foods/ " 그리고 "The empty path didn't match any of these". Dja..
URL 작성우리는 앞으로 많은 URL을 작성하게 될 겁니다. Django가 가지고 있는 철학 중 하나가 바로 'URL은 반드시 아름답게 작성되어야 한다'는 것인데요, 막상 작성하다보면 헷갈릴 수 있는 부분들이 있습니다. 이번 노트에서는 앞으로 여러분이 URL을 작성할 때 알아두면 좋을 내용들을 간단하게 살펴보겠습니다. 첫째. urls.py에 적는 URL 패턴은 슬래시( / )를 붙여서 작성합니다.urlpatterns=[ path('foods/', views.index), path('foods/banana/', views.fruit), ]URL 끝에 있는 슬래시를 트레일링 슬래시(traling slash)라고 하는데요, 우리가 평소에 구글에 접속하고자 할 때를 생각해보면 www.google.com 이라고 ..