장고

Python/Django

[Django] 장고의 작동 구조 & MTV패턴

장고의 작동 구조 1. 클라이언트가 웹브라우저에서 url을 이용해 장고 서버에 접속 ex) xxx.com/ 2. 서버에 접속하면 urls.py는 url요청에 따라 view를 분배 ex) GET xxx.com/myname , POST xxx.com/myposting ... 3. view에서는 클라이언트의 요청을 처리함 4. 데이터 형태를 모델로 표현하고 Create, Read, Update, Delete 인터페이스를 제공 5. 모델에서 요청한 내용을 실제 데이터베이스 내부에서 처리 6. 사용자 요청에 맞게 html을 만들어 사용자의 웹브라우저로 전달 MTV패턴 장고로 만들어진 웹사이트는 모델(model)로 데이터를 추상화하고 뷰(view)로 어떻게 처리를 할지 정하고, 템플릿(template)으로 웹 페이..

Python/Django

[Django] [웹 기초] 웹서버(web server)와 웹앱서버(web application server)

웹서버 / 웹앱서버 역할 프로그램 웹서버 1. 웹클라이언트의 요청을 받아서 처리하고 응답 2. 정적인 페이지(HTML, 이미지, CSS, JS등)을 웹 클라이언트에게 전달할 때 사용. 3. 동적인 처리가 필요한 경우 웹앱서버로 위임 Apache httpd, Nginx, lightpd, Mongoose 등 웹앱서버 1. 웹서버로부터 위임 받은 요청을 처리하고 웹서버로 응답을 전달한다. 2. 동적 페이지 요청 처리 3. DB연동 기능을 처리 Apache Tomcat, JBoss, Jeus, uWSGI, Gunicom 등 정적 페이지 / 동적 페이지 정적 페이지란? 언제, 누가 요청하더라도 항상 같은 내용을 표시하는 웹페이지이며 HTML, JS, CSS, 이미지로 이루어진 페이지를 말한다. 따라서 웹서버에서 ..

Python/Django

[Django] 간단한 REST API 서버 만들기4 - Class Based View에서 POST, GET, PUT, DELETE 구현

진행순서 1. Class Based View인 APIView를 상속하여 UserView 뼈대 만들기 2. POST, GET, PUT, DELETE 함수 구현 1. Class Based View인 APIView를 상속하여 UserView 뼈대 만들기 api_user/views.py에서 APIView를 상속하여 user를 생성, 삭제, 수정, 읽기를 할 수 있는 Class를 만든다. CBV인 APIView를 사용하는 이유는 get, post, update, delete가 클래스내에 함수로 나누어져 있어서 직관성이 좋다. views.py의 UserView의 큰 그림은 아래와 같다. CRUD 함수들이 한 클래스안에 함수별로 나누어진다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ..

Python/Django

[Django] 간단한 REST API 서버 만들기2 - http Request에 대한Response 전달

진행순서 1. djangorestframework 패키지 설치 2. user정보를 CRUD 할 수있는 API를 제공하는 api_user 앱 생성 3. REST API 설계 4. URLConf 설정을 통해 request 라우팅 5. view를 구현하여 request 처리 1. djangorestframework 패키지 설치 conda 명령어를 통해 djangorestframework를 설치하면 아래와 같이 패키지를 못찾는 경우가 있다. $ conda install djangorestframework Collecting package metadata (current_repodata.json): done Solving environment: failed with initial frozen solve. Retr..

Python/Django

[Django] 간단한 REST API 서버 만들기1 - 개발 환경설정

준비물 파이참 : 파이썬 개발 IDE 아나콘다 : 파이썬 라이브러리를 패키징해서 배포하는 툴 진행 순서 1. 아나콘다를 이용하여 파이썬 가상환경을 만든다. 2. 파이참에 아나콘다에서 만든 가상환경의 interpreter를 연결한다. 3. django REST API 서버를 만들기 위한 패키지를 설치한다. 4. django 실행. 1. 아나콘다로 가상환경 만들기 아래와 같이 쉘에 명령어를 이용하여 가상환경을 만드다. $ conda create --name my_django python=3.7 my_django는 가상환경이름이고 다음은 python버전을 입력해 준다. 명령어를 입력하면 아래와 같이 가상환경이 만들어 지면서 기본 패키지들이 설치 된다. 가상환경이 설치된 경로를 확인해 둔다. Collecting..

자유로운 범고래
'장고' 태그의 글 목록