SlideShare a Scribd company logo
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
• 사진 조회, 삽입, 삭제, 수정

More Related Content

What's hot (20)

PDF
Python Recipes for django girls seoul
Joeun Park
 
PPTX
[월간 슬라이드] 한시간안에 게시판 만들기 with 스프링부트
월간 IT 슬라이드
 
PPTX
Python, Development Environment for Windows
Kwangyoun Jung
 
PDF
vuetiful korea 발표자료
치웅 이
 
PDF
웹 Front-End 실무 이야기
JinKwon Lee
 
PPTX
Node.js
ymtech
 
PDF
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
수정 김
 
PDF
쉽게 쓰여진 Django
Taehoon Kim
 
PDF
201803 파이썬 세미나
JeongHwan Kim
 
PDF
도구를 활용한 더 나은 웹 개발: Yeoman
Jae Sung Park
 
PPTX
Couchbase .net client 개발
jr p
 
PDF
장고로 웹서비스 만들기 기초
Kwangyoun Jung
 
KEY
Meteor 0.3.6 Preview
Juntai Park
 
PPTX
Vue.js와 Firebase활용기
Aria (In Suk) Kim
 
PDF
Web_06_Ruby On Rails (임시)
team air @ Dimigo
 
PDF
혁신적인 웹컴포넌트 라이브러리 - Polymer
Jae Sung Park
 
PPTX
[2015:1] phpdocumentor 설치와 사용법
Amy Kim
 
PPTX
[PHPFest 2013] PHP 성능 향상 방법
phpkorea
 
PDF
20131217 html5
DK Lee
 
PDF
제 5회 DGMIT R&D 컨퍼런스: JavsScript Event Bubbling & Capturing
dgmit2009
 
Python Recipes for django girls seoul
Joeun Park
 
[월간 슬라이드] 한시간안에 게시판 만들기 with 스프링부트
월간 IT 슬라이드
 
Python, Development Environment for Windows
Kwangyoun Jung
 
vuetiful korea 발표자료
치웅 이
 
웹 Front-End 실무 이야기
JinKwon Lee
 
Node.js
ymtech
 
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
수정 김
 
쉽게 쓰여진 Django
Taehoon Kim
 
201803 파이썬 세미나
JeongHwan Kim
 
도구를 활용한 더 나은 웹 개발: Yeoman
Jae Sung Park
 
Couchbase .net client 개발
jr p
 
장고로 웹서비스 만들기 기초
Kwangyoun Jung
 
Meteor 0.3.6 Preview
Juntai Park
 
Vue.js와 Firebase활용기
Aria (In Suk) Kim
 
Web_06_Ruby On Rails (임시)
team air @ Dimigo
 
혁신적인 웹컴포넌트 라이브러리 - Polymer
Jae Sung Park
 
[2015:1] phpdocumentor 설치와 사용법
Amy Kim
 
[PHPFest 2013] PHP 성능 향상 방법
phpkorea
 
20131217 html5
DK Lee
 
제 5회 DGMIT R&D 컨퍼런스: JavsScript Event Bubbling & Capturing
dgmit2009
 

Viewers also liked (18)

PDF
20thAnnualFIRST
Earl Zmijewski
 
DOC
Backgrounder
stephanietorres
 
DOC
宁科协[2011]113号
a7johnson
 
PDF
20161206 orid.2
Wei Lun Chiang
 
DOCX
JUCER Submission
blobman
 
PDF
Otchet budget 01-09.2016 (1)
soffii_h
 
DOCX
Hias
Gelvira Ebony
 
PDF
Analisa sekolah standart nasional
Angga Debby Frayudha
 
PDF
La Cura, Erbe Indisciplinate, presentazione di benvenuto, frame
Salvatore Iaconesi
 
PDF
Babar Resume Latest Jan'15
Syed Babar Hussain
 
PPT
Propaganda In China
stephanietorres
 
PPTX
Managing Risks in Large Solar Energy Projects
Rick Borry
 
DOCX
my c.v 2
shimaa youssef
 
PDF
Pink Solar Energy Storage - Best Practice - Horst Striessnig 2013-06-11
Sekem Energy
 
PDF
社會住宅手冊(Part A) 社會住宅ABC
社住盟 社住盟
 
PDF
Javier Guallar. El bibliotecari com a content curator (I)
Javier Guallar
 
PDF
P&WC_BW
Sandra Ruest
 
PPT
EL ROL DEL PROFESOR COMO CURADOR DE CONTENIDOS DIGITALES
jorge enrique lafourcade ladoux
 
20thAnnualFIRST
Earl Zmijewski
 
Backgrounder
stephanietorres
 
宁科协[2011]113号
a7johnson
 
20161206 orid.2
Wei Lun Chiang
 
JUCER Submission
blobman
 
Otchet budget 01-09.2016 (1)
soffii_h
 
Analisa sekolah standart nasional
Angga Debby Frayudha
 
La Cura, Erbe Indisciplinate, presentazione di benvenuto, frame
Salvatore Iaconesi
 
Babar Resume Latest Jan'15
Syed Babar Hussain
 
Propaganda In China
stephanietorres
 
Managing Risks in Large Solar Energy Projects
Rick Borry
 
my c.v 2
shimaa youssef
 
Pink Solar Energy Storage - Best Practice - Horst Striessnig 2013-06-11
Sekem Energy
 
社會住宅手冊(Part A) 社會住宅ABC
社住盟 社住盟
 
Javier Guallar. El bibliotecari com a content curator (I)
Javier Guallar
 
P&WC_BW
Sandra Ruest
 
EL ROL DEL PROFESOR COMO CURADOR DE CONTENIDOS DIGITALES
jorge enrique lafourcade ladoux
 
Ad

Similar to Python codelab1 (20)

PDF
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
Dongil Yeom
 
PDF
Docker (Compose) 활용 - 개발 환경 구성하기
raccoony
 
PPTX
Django+highchart
hwangyoungjae
 
PPTX
Django
Kim HyeockJin
 
PPTX
Python on Android
용 최
 
PPTX
Django로 배우는 쉽고 빠른 웹개발 study 자료
Han Sung Kim
 
PDF
Python codelab2
건희 김
 
PDF
딥러닝이 바꾸는 애자일 테스팅
AgileKoreaConference Alliance
 
PDF
Tensorflow service & Machine Learning
JEEHYUN PAIK
 
PDF
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
I Goo Lee
 
PDF
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
Ted Won
 
PDF
okspring3x
Kenu, GwangNam Heo
 
PDF
Polymer따라잡기
Han Jung Hyun
 
PDF
20170813 django api server unit test and remote debugging
Jongwon Han
 
PDF
삶이편해지는_백엔드_개발자_지식.pdf
Seung kyoo Park
 
PDF
테스트
천호 이
 
PDF
Do not use Django as like as SMARTSTUDY
Hyun-woo Park
 
PDF
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
Jenkins를 활용한 javascript 개발
지수 윤
 
PPTX
피니엔진
승우 백
 
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
Dongil Yeom
 
Docker (Compose) 활용 - 개발 환경 구성하기
raccoony
 
Django+highchart
hwangyoungjae
 
Python on Android
용 최
 
Django로 배우는 쉽고 빠른 웹개발 study 자료
Han Sung Kim
 
Python codelab2
건희 김
 
딥러닝이 바꾸는 애자일 테스팅
AgileKoreaConference Alliance
 
Tensorflow service & Machine Learning
JEEHYUN PAIK
 
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
I Goo Lee
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
Ted Won
 
okspring3x
Kenu, GwangNam Heo
 
Polymer따라잡기
Han Jung Hyun
 
20170813 django api server unit test and remote debugging
Jongwon Han
 
삶이편해지는_백엔드_개발자_지식.pdf
Seung kyoo Park
 
테스트
천호 이
 
Do not use Django as like as SMARTSTUDY
Hyun-woo Park
 
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
Jenkins를 활용한 javascript 개발
지수 윤
 
피니엔진
승우 백
 
Ad

More from 건희 김 (6)

PDF
Python codelab3
건희 김
 
PDF
Python module
건희 김
 
PDF
Python class
건희 김
 
PDF
Python if loop-function
건희 김
 
PPTX
Python datatype
건희 김
 
PPTX
땅울림 파이썬 스터디 intro
건희 김
 
Python codelab3
건희 김
 
Python module
건희 김
 
Python class
건희 김
 
Python if loop-function
건희 김
 
Python datatype
건희 김
 
땅울림 파이썬 스터디 intro
건희 김
 

Python codelab1