01. 웹 프로그래밍과 Django
02. Django 설치 및 프로젝트 생성
•
pip: Python Install Package의 약자로 SW패키지를 사용하기 위한 명령어
•
프로젝트 생성: django-admin startproject 프로젝트 이름
•
•
MVT 패턴: MVC와 같은데 이름만 다름. 장고가 채택한 형태!
03. Django 프로젝트 설계
URLconf (urls.py)
•
URLconf - tempPjt/tempPjt/urls.py
•
urlpatterns = [
...
path('student/register/', views.student_register),
# 'student/register/': URL(클라이언트 요청 URL)
# views.student_register: view(함수 실행)
] # 기본적인 형태. 컨테이너 자료형 변수
View (views.py)
클라이언트의 요청에 따른 애플리케이션 실행 결과를 Template(html), 에러 메세지 등을 이용해서 클라이언트에게 response 한다.
•
View - tempPjt/students/views.py
•
def student_register(request):
# 데이터베이스 등을 이용한 프로그램 실행 결과
return HttpResponse()
Model (models.py)
•
Model - tempPjt/students/models.py
•
class Student(models.Model):
s_name = models.CharField(max_length=30)
s_major = models.CharField(max_length=30)
•
ORM(Object Relational Mapping) 사용: 클래스를 이용한 맵핑
Student 클래스를 생성하는 것은 students_student(애플리케이션 이름_클래스명 소문자) 테이블(DB) 생성의 기초
Template (*.html)
html을 저장하기 위해 사용자가 임의로 template 경로를 만든다.
임의로 생성한 것이기 때문에 settings.py의 INSTALLED_APPS 변수에 해당 애플리케이션을 등록해줘야 한다.
프로젝트 설정(/tempPjt/settings.py)
settings.py - 프로젝트의 전체적인 설정을 담당한다.
•
INSTALLED_APPS = [
...
'students.apps.StudentConfig',
] # 모든 애플리케이션(apps.py)을 설정파일에 등록
•
DEBUG = True # 개발모드
DEBUG = False #운영모드
•
ALLOWED_HOST = ['localhost', '127.0.0.1'] #운영모드일 경우에만 서버 IP주소 입력
기본 사용자 및 그룹 테이블 생성
•
관리자 계정 생성 및 서버 구동
•
•
→ 모의로 나의 웹 사이트가 어떻게 돌아가는 지 테스트
client 화면 - 127.0.0.1:8000
admin 화면 - 127.0.0.1:8000/admin
04. 데이터베이스(ORM)
테이블 생성
models.py에 테이블 클래스 정의 후 admin.py에 등록
레코드 다루기
•
레코드 읽기
◦
데이터 검색: 데이터 전체 - QuerySet 타입으로 반환, 데이터 한개 - Student 타입으로 반환
◦
필드 데이터 검색: 데이터 다수 - '[]'를 이용한 접근, 데이터 한개- '.'을 이용한 속성 접근
◦
데이터 필터
◦
데이터 정렬
•
레코드 업데이트 - 데이터 수정
•
레코드 삭제 - 데이터 삭제