
검색 이미지 지도 Play YouTube 뉴스 Gmail 드라이브 더보기 » 로그인 도서 내 라이브러리에 추가하기 앞표지 인쇄판 구매하기 사용 가능한 eBook 없음 교보문고 알라딘 인터파크 아마존(영문) 예스24 리브로 반디앤루니스 도서관에서 찾기 모든 판매자 » 파이썬 웹 프로그래밍(개정판): Django(장고)로 배우는 쉽고 빠른 웹 개발 저자: 김석훈 도서 정보 Google Play에서 도서 쇼핑 세계 최대 eBook 상점을 둘러보고 웹, 태블릿, 휴대전화, eReader에서 독서를 시작해 보세요. 지금 Google Pla...
www.google.co.kr
핵심 단어들 위주로 이해하기 좋게 요약해보았습니다.
장고 웹프레임워크: 목적에 따라 가져다 쓸 수 있도록 만들어놓은 틀
파이썬 프로그래밍 자체가 다른 프로그래밍에 비해 배우기 쉽고 쓰기 편하게 되어 있기 때문에 개발기간을 상당히 단축시킬 수 있습니다.
특징
제어가 넘어가고 사고가 주입됨
MVT기반의 파이썬 모델 사용
-기본은 Model-View-Controller 기반 프레임워크
ORM(Object-relational mapping) 기능 지원
쉬운 DB관리를 위해 프로젝트를 생성하면서 관리자기능을 제공
쉬운 URL 파싱 기능 지원
동일한 소스코드에서 다른 나라에서 용이하도록 번역, 날짜/시간/숫자 등의 포맷 타임존 지정 등의 기능을 제공
라우팅이란? 누가 보내진 정보를 처리할것인가 경로를 설정하는것
리눅스 환경에서 장고 설치방법
우선 파이썬이 설치되어 있어야 합니다.
sudo apt install python3
python3 -m pip install django ======> 프레임워크 설치
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
-m pip install django ====> 폴더명: 장고 설치폴더 지정
django-admin startproject ====> 장고 어드민 설정
django-admin startproject myproject ====> 폴더명: 장고 설치폴더 지정후 myproject라는 이름의 폴더명 설정 여러가지 파일들이 만들어짐 setting init 등등
python3 manage.py
#실행 관련 내용 해당 페이지 참조
#https://docs.djangoproject.com/en/4.2/ref/django-admin/
python3 manage.py runserver ====> 장고 실행하면 포트 설정하라고 나옴
python3 manage.py runserver 8888 ====> 포트 번호 변경하고 싶으면 이런식으로 숫자 설정
python manage.py makemigrations
python manage.py migrate
이 전체를 MVT 모델 MVC모델이라고 부름
<프론트>
url.py/login 앱1- 로그인
url.py/membership 앱2- 회원가입
url.py/find_id 앱3- 아이디 찾기
url.py/location 앱4- 분리배출
url.py/event 앱5- 행사
url.py/information 앱6- 정보습득
url.py/community 앱7- 게시판
<백엔드>
url.py/member
url.py/product
url.py/delivery
?id 리드로 전달됨 =>query string => get방식
create => method=post 방식으로 변경이 가능함
csrf django skip을 통해 disable 즉 csrf를 면제하겠다.
@csrf_exempt
def create(request)라는 객체를 생성하여 httpresponse(htmlTemplate(artivle)) 리턴
placeholder : 도움말을 보여주는 기능
p태그: 단락
textarea: 여러줄의 텍스트 입력할 때 쓰는 태그
form 태그: 폼을 전달
?title=1 : query string 즉, title이 1이라는 정보를 갖고오는 겟방식으로 데이터를 갖고오는 방식
브라우저가 서버에 있는 데이터를 변경하려는 작업
=> post 방식으로 해결이 가능하며(method="post"), csrf오류를 해결할 수 있음
@csrf_exempt
데이터 제출을 했을때 전송이 되며 오류를 막아줌.
def create(request)라는 객체를 생성하여 httpresponse(htmlTemplate(artivle)) 리턴
웹서버: 하드웨어 측면에서, 웹 서버는 웹 서버의 소프트웨어와 website의 컴포넌트 파일들을 저장하는 컴퓨터. 정적인 HTML페이지
curl명령어: 인자로 넘어온 URL로 HTTP요청을 보냄
웹 어플리케이션 서버: 다양한 서버 내 알고리즘, 비즈니스 로직, DB 조회 등 클라이언트 요청에 따라 동적인 컨텐츠를 제공하는 서버, 프로그램
프론트엔드 program: 웹 브라우저에서 동작하는 프로그램
backend program: 웹 서버에서 동작하는 프로그램
ORM(Object-Relational Mapping):객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것. 즉 SQL를 편하게 다루기 위한 도구
ORM의 종류
Flask : SQLAlchemy.
Django : 내장 ORM.
Node.js : Sequalize.
Java : Hybernate, JPA.
GraphQL : Prisma.
34p 번호별 주요 발생 에러
100번대
200번대: 서버가 안정적이니?? 물어보는 코드==>server status 서버가 안정적이다.
300번대: 요청한 URL의 웹 문서가 이동되었으나 그 추가 동작이 필요
400번대: 없는 페이지를 요청함. 클라잉언트 요청 메시지 내용이 잘못됨 EX)404: 지정한 리소스를 찾을 수 없다.
500번대: 서버부하. DB 처리 과정 오류
쿼리스트링: 사용자가 입력 데이터를 전달하는 방법중의 하나로, url 주소에 미리 협의된 데이터를 파라미터를 통해 넘기는 것. 앰퍼샌드로 구분되어 이름=값 형태
39p
라우팅이란?
라우팅은 네트워크에서 경로를 선택하는 프로세스입니다.
컴퓨터 네트워크는 노드라고 하는 여러 시스템과 이러한 노드를 연결하는 경로 또는 링크로 구성됨
라우팅 하는 방법
1.함수
2.객체 - 그 객체의 메서드를 부르는 방법 ex) home.as_view()
3.연결 - include 함수를 통해 다른 url로 위임
admin.site.urls- 함수형 표기
url pattern 접근 방법
1.클래스 형태로 접근
2.함수형태로 접근
3.앱을 만들어 include로 접근
43-45p
CGI(Common Gateway Interface)란
서버와 애플리케이션 간에 데이터를 주고 받는 방식 또는 컨벤션
86p 이전 내용: 파이썬 웹 표준 라이브러리를 설명함
86p 이전 내용: 파이썬 웹 표준 라이브러리
----------------------------------------------------------------
87p- MVT(Model View Template)패턴: 장고에서 규정한 패턴
model / view / Template 3단계로 나누어서 짜라.
이 규정에 따라 코드를 작성할 것을 추천
보일러 플레이트는 변경 없이 계속하여 재사용할 수 있는 프로그램 => 함부로 지우는게 아님
MVT 패턴 처리과정
1.클라이언트로부터 요청을 받으면 URLconf를 이용하여 URL을 분석한다.
2.URL 분석 결과를 통해 해당 URL에 대한 처리를 담당할 뷰를 결정한다.
3.뷰는 자신의 로직을 실행하면서 만일 데이터 베이스 처리가 필요하면 모델을 통해 처리하고 그 결과를 반환받는다.
4.뷰는 자신의 로직 처리가 끝나면 템플릿을 사용하여 클라이언트에 전송할 HTML 파일을 생성한다.
5.뷰는 최종 결과로 HTML 파일을 클라이언트에게 보내 응답한다.

사진 설명을 입력하세요.
'django' 카테고리의 다른 글
[리눅스환경] 장고 활용하여 SQL 개발서버 만들기 2 (0) | 2023.09.12 |
---|---|
[리눅스 환경] Django에서 mysql 실행 및 데이터 넣고 확인하는 방법 (0) | 2023.09.11 |
django 활용하여 파이썬과 pymysql 연동하는 방법 (0) | 2023.08.27 |
리눅스 환경에서 장고 설치 및 실행 (0) | 2023.08.21 |