반응형
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'
반응형