(2) try except
자바의 try catch
try :
시도할 코드
except:
오류 발생시 실행할 코드
finally:
예외 발생 여부와 상관없이 실행할 코드
https://docs.python.org/3/tutorial/errors.html
모듈, 패키지, 라이브러리
모듈 : 파이썬으로 작성된 가장 작은 파일
패키지 : 모듈의 집합, 모듈의 계층 단위
라이브버리 : 미리 준비된 모듈 및 패키지
python standard library(내장)와 python index library(외장)가 있다
pip : 라이브러리 관리 도구
Web Service
(1) Web
World Wide Web
(2) URL, HTTP, HTML
URL = 정보의 위치를 나타냄
HTTP = 정보자원으로 접근하고 통신하게 하는 약속(get, post 등)
HTML = 응답으로서의 정보 자원 자체, 다른 정보 자원과 연결해줌
(3) Server
웹 프로그램에 대한 정보를 저장하고 있는 컴퓨터라고 보면 쉬움
(4) Web Service
HTML과 URL을 미리 준비하고 사용자 요청에 대한 응답을 보낼 수 있는 프로그램
(1) MVC
Model View Controller
Model : DB와 상호작용
View : 사용자 인터페이스 담당
Controller : 웹 서비스 내부 담당(서비스레이어)
(2) MTV
Model Template View
Model : DB와 상호작용
Template : 사용자 인터페이스
View : 웹 서비스 내부 동작의 논리 담당
python -m venv 가상환경이름source myvenv/Scripts/activatecode .(2) python -m venv myvenv
myvenv라는 가상환경 설치
(3) source myvenv/Scripts/activate
가상환경 실행
참고로 명령어 입력 뒤 그 디렉토리에서 m으로 시작하는 유일한 폴더가 myvenv면
m 입력 뒤 tab키를 누르면 자동으로 생성됨

(4) 장고 설치
pip install django

(5) 설치 상태 확인
pip freeze

(6) 장고 프로젝트 생성
django-admin startproject myproject
장고를 사용할 때는 django-admin 명령어 사용

(7) 초기생성 파일 역할
python manage.py runserver
application 만듦
python manage.py startapp app이름
생성된 app은 mvc 패턴을 따름

생성된 app을 실행하려면 settings.py에 등록해야됨
DB 초기화 및 변경사항 반영
python manage.py migrate
관리자 계정 생성
python manage.py createsuperuser

BASE_DIR = Path(file).resolve().parent.parent
SECRET_KEY = ‘django-insecure-nte-7aly*-lkdqg!$h@71^ssapcwpk7w6%_gwu)l8t9^r$g)z8’
DEBUG = True
ALLOWED_HOSTS = []
INSTALLED_APPS = [ ‘django.contrib.admin’, ‘django.contrib.auth’, ‘django.contrib.contenttypes’, ‘django.contrib.sessions’, ‘django.contrib.messages’, ‘django.contrib.staticfiles’, ‘dashboard’ ] # 생성한 application 작성
MIDDLEWARE = [ ‘django.middleware.security.SecurityMiddleware’, ‘django.contrib.sessions.middleware.SessionMiddleware’, ‘django.middleware.common.CommonMiddleware’, ‘django.middleware.csrf.CsrfViewMiddleware’, ‘django.contrib.auth.middleware.AuthenticationMiddleware’, ‘django.contrib.messages.middleware.MessageMiddleware’, ‘django.middleware.clickjacking.XFrameOptionsMiddleware’, ]
ROOT_URLCONF = ‘myproject.urls’
TEMPLATES = [ { ‘BACKEND’: ‘django.template.backends.django.DjangoTemplates’, ‘DIRS’: [], ‘APP_DIRS’: True, ‘OPTIONS’: { ‘context_processors’: [ ‘django.template.context_processors.debug’, ‘django.template.context_processors.request’, ‘django.contrib.auth.context_processors.auth’, ‘django.contrib.messages.context_processors.messages’, ], }, }, ]
WSGI_APPLICATION = ‘myproject.wsgi.application’
DATABASES = { ‘default’: { ‘ENGINE’: ‘django.db.backends.sqlite3’, ‘NAME’: BASE_DIR / ‘db.sqlite3’, } }
AUTH_PASSWORD_VALIDATORS = [ { ‘NAME’: ‘django.contrib.auth.password_validation.UserAttributeSimilarityValidator’, }, { ‘NAME’: ‘django.contrib.auth.password_validation.MinimumLengthValidator’, }, { ‘NAME’: ‘django.contrib.auth.password_validation.CommonPasswordValidator’, }, { ‘NAME’: ‘django.contrib.auth.password_validation.NumericPasswordValidator’, }, ]
LANGUAGE_CODE = ‘en-us’
TIME_ZONE = ‘UTC’
USE_I18N = True
USE_TZ = True
STATIC_URL = ‘static/’
DEFAULT_AUTO_FIELD = ‘django.db.models.BigAutoField’
<br>
- urls.py
각종 url을 관리
<br>
# 실습 - hello world
(1) application 안에 templates 폴더 생성 뒤 html 파일 생성

<br>
(2) settings.py의 installed_apps에 앱 추가

<br>
(3) views(controller)에 html 파일 리턴하는 함수 추가
def home(request): return render(request, ‘index.html’)
<br>
(4) urls.py에 path 추가
from django.contrib import admin from django.urls import path import dashboard.views
urlpatterns = [ path(‘admin/’, admin.site.urls), path(‘’, dashboard.views.home, name=”hello world”), path(‘url경로명’, 실행원하는 함수 디렉토리, url이름) ] ``` dashboard 앱 폴더 내의 view 임포트 필요!