KEMBAR78
Python codelab1 | PDF
Python
Code Lab
Study Of Landvibe
made by 김건희
Django 프레임워크를
활용한 웹페이지 제작
Outline
• 1주차
• 프로그램 개요, 데모 시연
• 배경 지식 설명
• 환경 설정
• 2주차
• Django - Model, View ,Template, url
• 사진 조회, 삽입, 삭제, 수정
• 3주차
• 검증(form)
• 로그인, 회원가입, 로그아웃
• 유저와 사진 연결하기
Outline
• 1주차
• 프로그램 개요, 데모 시연
• 배경 지식
• Web
• http
• MVC 패턴
• Django
• 환경 설정
프로그램 개요
프로젝트명 : dstagram
기능 : 사진+글 출력, 업로드, 수정, 삭제,
로그인, 회원가입
언어 : python3
프레임워크 : Django
DB : sqlite3
CSS 프레임워크 : materialize
목적 : Django Web 프레임워크를 통해 Web의
구조와 http를 이해하고, 프레젠테이션 로직과 비
즈니스 로직을 구현한다
Demo 시연
생활 코딩 : 인터넷과 웹의 역사
https://opentutorials.org/course/1688/9334
생활 코딩 : 서버와 클라이언트
https://opentutorials.org/course/1688/9408
Web에 대해서 알아보자
Web
HTTP
http://www.naver.com
HTTP
http://sports.news.naver.com/wfootball/news/read.nhn?oid=139&aid=0002065562
HTTP
URL 분석
①http://②sports.news.naver.com/③
wfootball/news/read.nhn④?oid=139&aid=0002065562
①http:// - http 프로토콜 사용을 명시
②sports.news.naver.com/ - host name (서버이름)
③wfootball/news/read.nhn – 서버내 경로 / app환경
④?oid=139&aid=0002065562
– parameter정보, key1=value1&key2=value2&… 형태
• Hyper Text Transfer Protocol
• www상에서 정보를 주고받는 프로토콜(규약)
• TCP, UDP사용, 80번 port 사용
• 요청 메소드
• GET, POST, PUT, DELETE, …
• 응답 코드
• 200 - 성공
• 400 - 클라이언트 오류
• 500 – 서버 오류
HTTP
https://ko.wikipedia.org/wiki/HTTP
HTTP
GET /index.html HTTP/1.1
요청 메소드 + 서버 경로 + HTTP/버전
HTTP
HTTP1.1 200 OK
HTTP/버전 + 응답코드 + 응답코드명
• 생활 코딩 : MVC 디자인 패턴
https://opentutorials.org/course/697/3828
MVC 패턴
Django
Django 공식 홈페이지
https://docs.djangoproject.com/en/1.10/
Django
Django의 MTV 패턴
• Template
• View 역할
• 사용자의 화면에 보
이는 부분
• View
• Controller 역할
• 사용자의 요청을 처
리하여 응답해주는
부분
• Model
• Model 역할
• 서버와 DB를 연결해
주는 부분
환경설정
• Pycharm 실행
• Python virturalenv 설치
• Terminal에서 아래 명령어 입력
$ pip install virtualenv - virtualenv(가상환경) 설치
$ virtualenv dstagram - dstagram 가상환경 생성
$ cd dstagram/Scripts - dstagram/Script 폴더로 이동
$ activate - 가상환경 실행
(dstagram) 이 생기면 완료
Pycharm 상단바 file > settings > project:dstagram > project
interpreter > 가상환경설정
환경설정
• Django 설치
$ pip install django -Django 라이브러리 설치
$ cd dstagram/Scripts -dstagram/script 폴더 이동
$ django-admin.py startproject dstagram
- ‘dstagram’라는 이름의 Django
프로젝트 생성
$ cd dstagram/Scripts/dstagram
$ python manage.py runserver - 서버 실행
localhost:8000 접속 > 설치 확인
환경설정
• Django App 생성
$ python manage.py startapp photo
-photo폴더 및 .py 파일들 생성
• settings.py > INSTALLED_APPS에 ‘photos’ 추가
환경설정
• Django Model 생성
photo/model.py에 아래 코드작성
환경설정
• Model를 DB에 적용
$ pip install Pillow
- image 처리를 위한 라이브러리
$ python manage.py makemigrations
-현재 model.py를 바탕으로 migration 파일생성
$ python manage.py migrate
-migration 파일을 db에 적용
$ python manage.py createsuperuser
-db의 root계정 설정
환경설정
• Django Admin에 App추가
photo/admin.py에 아래 코드 입력
환경설정
$ python manage.py runserver
크롬 켜서 localhost:8000/admin 입력
환경설정
• Django Template 설정
Setting.py > TEMPLATES > DIRS > os.path.join(BASE_DIR,
'templates'), 추가
dstagram 폴더아래에 templates 폴더 생성
환경설정
• Django Static 설정
Setting.py에 아래 코드 입력
dstagram 폴더아래에 static, uploaded_files폴더 생성
환경설정
Static
Tmeplates
Uploaded_files
에 제가 배포한 압축파일들 복사
현재까지 디렉토리 구조 >>>>>>>>>
마무리
오늘은 여기까지!
• 2주차
• Django - Model, View ,Template, url
• 사진 조회, 삽입, 삭제, 수정

Python codelab1