본문 바로가기
반응형

Spec UP - Backend/Django로 배우는 쉽고 빠른 웹개발 파이썬 프로그래밍7

chap 4. Django의 핵심 기능 4.1 Admin 사이트 꾸미기 장고의 Admin 사이트는 데이터를 쉽게 관리할 수 있도록 데이터의 생성, 조회, 변경, 삭제 등의 기능을 제공한다. 또한, 깔끔하게 정돈된 모습의 룩앤필 UI를 제공하며 취향에 맞게 꾸밀 수 있다. 장고 설치 디렉터리 확인 명령어는 아래와 같다. python -c "import django; print(django.__path__)" 4.2 장고 파이썬 셸로 데이터 조작하기 Admin 사이트의 장점 중 하나는 관리자가 UI 화면에서 데이터의 조회, 입력, 수정, 삭제 등의 기능을 제공한다는 점이다. 장고는 추가로 파이썬 셸을 이용해 데이터를 관리할 수 있는 API도 제공한다. 그래서 간단한 데이터 관리 또는 UI를 통해 데이터 모습을 확인할때는 주로 Admin 사이트를 .. 2024. 3. 18.
chap 3. Django 프레임워크 3.1. 장고의 특징 1. MVC 패턴 기반 MVT 장고는 MVC(Model-View-Controller) 패턴을 기반으로 한 프레임워크이다. 하지만 장고에서는 View를 Template, Controllere를 View라고 부른다. 그래서 장고를 MVT 프레임워크라고 부르며, 용어만 다를 뿐 그 개념은 MVC 패턴과 동일하다. Model : 데이터베이스에 엑세스하는 컴포넌트 View : 데이터를 가져오고 변형하는 컴포넌트 Template : 데이터를 사용자에게 보여주는 컴포넌트 2. 객체관계 매핑(ORM : Object-Relational Mapping) 장고의 객체 관계 매핑은 데이터베이스 시스템과 파이썬 클래스(모델)를 연결한다. ORM 기능을 통해 다양한 데이터베이스 시스템을 지원하며, SQL문장.. 2024. 2. 27.
CGI / WSGI / ASGI CGI(Common Gateway Interface) 사용자의 요청은 웹 서버에 있는 파일을 그대로 요청하는 정적 요청과, 요청 시점에 따라 응답 내용이 달라지는 동적 요청이 있다. 일반적으로 웹 서버는 미리 준비된 정보를 이용자의 요구에 응답하여 정적인 페이지를 보내는 기능을 수행한다. 동적 요청의 경우 별도의 애플리케이션에서 처리하는 것이 일반적이며, 웹 서버는 동적 요청을 애플리케이션으로 넘겨주고 그 결과를 받는 기능을 제공한다. 이 때 웹 서버가 다른 프로그램을 호출하고, 그 처리결과를 클라이언트에 송신할 수 있게 하기 위해 웹서버와 애플리케이션 간의 프로토콜(규약)을 정한 것이 CGI이다. 웹 서버는 Apache, NGINX 등 다양한 종류가 있고, 애플리케이션 역시 python, java, p.. 2024. 2. 21.
chap 02. CGI/WSGI 라이브러리 2.4 CGI/WSGI 라이브러리 파이썬에는 WSGI(Web Server Gateway Interface) 규격이 정의되어있으며, 파이썬 애플리케이션을 실행하는 웹 서버는 이 규격을 준수해야한다. WSGI는 웹 서버와 웹 애플리케이션을 연결하는 규격으로 장고와 같은 파이썬 웹 프레임워크를 개발하거나, 이런 웹 프레임워크를 아파치와 같은 웹서버와 연동할 때 사용한다. 파이썬 표준 라이브러리에는 CGI 규격을 위한 cgi 모듈과, 개선된 WSGI 규격을 구현하기위한 wsgiref 모듈이 함께 존재한다. 다만 wsgiref 모듈이 cgi모듈 기능을 포함하므로, 현재 cgi 모듈은 거의 사용되지 않는다. 2.4.1 CGI 관련 모듈 사용자의 요청은 웹 서버에 있는 파일을 그대로 요청하는 정적 요청과, 요청 시점.. 2024. 2. 20.
chap 02. 웹 서버 라이브러리 2.3 웹 서버 라이브러리 2.3.1 간단한 웹 서버 웹 서버의 역할은 http 통신에서 클라이언트의 요청을 받고 이를 처리하여 결과를 되돌려주는 것이다. 파이썬에서는 웹서버를 만드는데 필요한 라이브러리를 http.server 모듈에서 정의하고 있으며, 주요 클래스는 아래와 같다. 클래스명 주요 기능 HTTPServer 웹 서버를 만들기 위한 클래스로 서버IP와 PORT를 바인딩한다. HTTPServer 객체 생성 시 핸들러 클래스가 반드시 필요하다. BaseHTTPRequestHandler 핸들러를 만들기 위한 기반 클래스로 HTTP 프로토콜 처리 로직이 들어있다. 이 클래스를 상속받아 자신의 로직 처리를 담당하는 핸들러 클래스를 만든다. SimpleHTTPRequestHandler BaseHTTPRe.. 2024. 2. 20.
chap 02. 파이썬 웹 표준 라이브러리 2.1 웹 라이브러리 구성 urllib 패키지 : 웹 클라이언트를 작성하는데 사용되는 모듈들이 들어있음. http 패키지 : 크게 서버용/클라이언트용 라이브러리로 나누어 모듈을 담고 있으며, 쿠키 관련 라이브러리도 http패키지 내 서버용과 클라이언트용으로 모듈이 구분된다. 웹클라이언트를 개발하는 경우 주로 urllib 패키지를 사용한다. http.client 모듈이 HTTP 프로토콜 처리와 관련된 저수준의 클라이언트를 제공하는 반면, urllib 패키지의 모듈들은 HTTP 서버 뿐만 아니라 FTP서버 및 로컬 파일 등을 처리하는데 클라이언트에서 공통적으로 필요한 함수와 클래스를 제공하기 때문이다. 웹 서버 프로그래밍을 할때에는 http.cookie나 http.server 모듈을 사용하지 않고 장고와 같.. 2024. 2. 7.
chap 01. 웹프로그래밍의 이해 Django로 배우는 쉽고 빠른 웹개발 파이썬 웹프로그래밍 기초편 책 내용입니다. 1.1 웹 프로그래밍이란? 웹프로그래밍 : HTTP(S) 프로토콜로 통신하는 클라이언트와 서버를 개발하는 일. ex) 웹브라우저를 실행하여 네이버에 접속하는 경우 :웹 클라이언트(브라우저)가 요청하고 웹서버(네이버서버)가 응답하는 클라이언트-서버 프로그램이 동작함. 웹서버에 요청을 보내는 웹 클라이언트는 아래와 같은 형태로 만들 수 있다. 웹 브라우저를 사용하여 요청 리눅스 curl 명령을 사용하여 요청 리눅스 telnet을 사용하여 요청 직접 만든 클라이언트로 요청 1.4 HTTP 프로토콜(Hypertext Transfer Protocol) HTTP : 웹 서버와 웹 클라이언트 사이에서 데이터를 주고받기 위해 사용하는 통.. 2024. 2. 1.
반응형