django (장고) 시작1
django
파이썬 웹 프레임워크 (오픈소스 기반)
공식문서[영어] |
공식문서[한글] |
django = python web framework
(프렌차이즈로 창업하기)
웹페이지 개발하는 과정에서 겪는 어려움을 줄이자
개발환경 ㅣ 클라우드IDE
CS50 IDE 로 장고쓰기
클라우드 나인 + 깃허브로 로그인 |
- 우측 상단의 고양이 Share 를 눌러서 => [공유] 하고자하는 깃허브 유저네임 검색해서 추가가능
리눅스 기본 명령어
$ cd |
change directory 디렉토리 변경(이동) |
cd . # 현재 디렉토리 cd 폴더이름쓰다... tab 하면 폴더이름 자동완성 |
$ ls |
list 목록 |
~/django_intro $ ls db.sqlite3 django_intro/ manage.py* |
$ mkdir |
make directory 디렉토리 만들기 |
# 하위 폴더 만들기 mkdir 폴더명 |
$ touch |
|
# 하위 파일 만들기 |
$ python lotto.py 파이썬아 로또파일 실행시켜줘
설치 및 django 프로젝트 시작
명령어 | 기능 | 자세히 |
$ pip install django==2.1.15 | 장고 설치 | $ pip list 를 통해 어떤게 설치되어있는지 확인 가능 |
$ django-admin startproject {프로젝트명} $ django-admin startproject django_intro |
프로젝트 생성 | 레포리지트 {프로젝트명} 폴더/ 속에 동일이름의 폴더/ |
$ django-admin startproject myproject . $ django-admin startproject myproject {경로지정가능} |
-옵션 |
. 으로 하면 프로젝트명의 폴더 이름 하나만 생성됨 경로지정도 가능 |
~/ $ cd django_intro/ |
서버 실행 |
django_intro 폴더의 settings.py 파일 수정 # 28번째 라인 [] 안에 '*' 넣기
# 108번째 en=>ko 한글로 바꾸기 |
~/ $ cd django_intro/$ ls | 반드시 서버 실행시 명령어가 실행되는 디렉토리를 확인할 것 manage.py* 보기 |
|
~/django_intro/ $ python manage.py runserver 8080 |
실행된 서버는 우측의 영역의 url을 클릭 8080 포트번호 |
|
... |
... | ... 이후에 할 것 |
~/django_intro/ $ python manage.py startapp {app이름지정} | 앱 생성(다중) | 프로젝트 이름의 폴더의 views.py는 없어지고 여기는 views.py 가 생성됨 .... |
-
서버 종료는 터미널에서
ctrl + c
함께 입력한다. -
URL 이 없으면 서버실행 시, 로켓만 발사됩니다.
-
OPPS 는 서버가 돌아가지 않을 때 발생, 새로고침 또는 서버다시실행
-
404 not found : base의 url 에서 보여줄 html 이 없으면, 페이지 없다고 뜸 (경로다시보기)
MTV패턴 - 요청과 응답
클라이언트 -- 요청--> 서버
클라이언트<--응답 -- 서버
MDN웹docs_Django 웹 프레임워크 (파이썬) https://developer.mozilla.org/ko/docs/Learn/Server-side/Django |
MTV_django | MVC패턴 아키텍쳐와 유사 | |
Model | 데이터관리 | Model |
Template | 인터페이스_화면 | View |
View | 중간관리_상호작용 | Controller |
- URLs: 단일 함수를 통해 모든 URL 요청을 처리하는 것이 가능하지만, 분리된 뷰 함수를 작성하는 것이 각각의 리소스를 유지보수하기 훨씬 쉽습니다. URL mapper는 요청 URL을 기준으로 HTTP 요청을 적절한 view로 보내주기 위해 사용됩니다. 또한 URL mapper는 URL에 나타나는 특정한 문자열이나 숫자의 패턴을 일치시켜 데이터로서 뷰 함수에 전달할 수 있습니다.
- View: view는 HTTP 요청을 수신하고 HTTP 응답을 반환하는 요청 처리 함수입니다. View는 Model을 통해 요청을 충족시키는 데 필요한 데이터에 접근합니다. 그리고 탬플릿에게 응답의 서식 설정을 맡깁니다.
- Models: Model은 application의 데이터 구조를 정의하고 데이터베이스의 기록을 관리(추가, 수정, 삭제)하고 query하는 방법을 제공하는 파이썬 객체입니다.. => CRUD(create,read,update,delete)
- Templates: 탬플릿은 파일의 구조나 레이아웃을 정의하고(예: HTML 페이지), 실제 내용을 보여주는 데 사용되는 플레이스홀더를 가진 텍스트 파일입니다. view는 HTML 탬플릿을 이용하여 동적으로 HTML 페이지를 만들고 model에서 가져온 데이터로 채웁니다. 탬플릿으로 모든 파일의 구조를 정의할 수 있습니다.
(탬플릿이 꼭 HTML 타입일 필요는 없다)
작성순서 -( U->V->T )
0 settings.py |
1 urls.py 경로설정, url =~~/-- 정의하기 |
2 views.py 실행할 함수선언 |
3 HTMl(templates/--.html) 실행될 페이지, 반환할 html파일만들기 |