[Python] 웹 프로그래밍(북마크 앱)
programming/python

[Python] 웹 프로그래밍(북마크 앱)

16. 웹 프로그래밍(북마크 앱)

 

16.1 Python 개발 툴

  • IPython Notebook - 웹브라우저에서 실행
  • PyCharm - Python 전용 개발툴(IntelliJ 기반)
  • PyDev - 이클립스 플러그인

 

 

16.2 PyDev 설치

[Help] - [Eclipse Marketplace...] 메뉴에서 pydev 검색

 

파이썬 인터프리터 설정

[Window] - Preferences - PyDev - Interpreters - Python Interpreter

C:\Anaconda3\python.exe로 설정

 

프로젝트 만들기

[New] - [Other] - [PyDev] - [PyDev Django Project]

프로젝트 이름: pyweb01

pyweb01 디렉토리가 2개 만들어진다.

D:\work\pyweb01

D:\work\pyweb01\pyweb01 - python 웹프로젝트의 설정 디렉토리

 

 

16.3 Django

16.3.1 파이썬 기반의 무료 오픈소스 웹 애플리케이션 프레임워크(Open Source Web Application Framework)

 

16.3.2 장점

16.3.2.1 Python 기반의 프레임웍으로 배우기 쉬움

16.3.2.2 빠른 개발속도, 개발 비용 절감

16.3.2.3 코드 완성도를 높게 유지할 수 있으며 확장성이 좋음

16.3.2.4 사용자 인증, 사용자 관리 등을 기능이 기본적으로 구현되어 있음

 

16.3.3 성공적인 도입 사례 - Instagram

 

16.3.4 Django 패키지 설치

pip install django
 

16.3.5 MTV 패턴

 

16.3.6 MVC pattern과 MTV pattern의 비교

MVC

MTV

설명

Model

Model

데이터베이스와 관련된 처리를 담당하는 코드

View

Template

사용자가 보게되는 화면을 정의하는 코드

Controller

View

데이터를 처리한 후 결과를 템플릿에게 전달하는 코드

 

 

16.4 실습

16.4.1 기본 테이블 생성

D:
cd %MY_WORKING_DIRECTORY%/pyweb01
python manage.py migrate

migrate: 기본 테이블을 생성해주는 명령어

 

16.4.2 슈퍼 유저 생성

cd %MY_WORKING_DIRECTORY%/pyweb01
python manage.py createsuperuser

아이디와 비밀번호만 입력, 이메일은 생략 가능

비밀번호는 8자 이상이어야 하고, 영문자 + 숫자로 구성해야 함

  • Username: admin
  • Password: admin1234

 

16.4.3 애플리케이션 생성

python manage.py startapp bookmark

bookmark 관련 디렉터리가 만들어진다.

이클립스에서 F5를 눌러 새로고침

 

테이블을 새로 만들면 models.py와 admin.py 2개의 파일을 수정해야 함

  • models.py: 테이블에 대한 모델 클래스 정의
  • admin.py: models.py에 등록한 테이블이 Admin 사이트에서도 보이도록 처리

 

16.4.4 settings.py

# (...)

# Application definition

INSTALLED_APPS = [
    # (...)
    'bookmark',
]

# (...)

# Internationalization
# https://docs.djangoproject.com/en/3.1/topics/i18n/

# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'ko-kr'

# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Seoul'