📢 공지사항
home
💻

Django 2

상태
추설하
배정

01. 웹 프로그래밍과 Django

02. Django 설치 및 프로젝트 생성

pip: Python Install Package의 약자로 SW패키지를 사용하기 위한 명령어
프로젝트 생성: django-admin startproject 프로젝트 이름
애플리케이션 생성: python manage.py startapp 애플리케이션 이름
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주소 입력

기본 사용자 및 그룹 테이블 생성

사용자 및 그룹 테이블 생성: python manage.py migrate
데이터베이스 변경사항 반영:
python manage.py migrations
python manage.py migrate

관리자 계정 생성 및 서버 구동

관리자 계정 생성: python manage.py createsuperuser
서버 구동: python manage.py runserver 0.0.0.0:8000
→ 모의로 나의 웹 사이트가 어떻게 돌아가는 지 테스트
client 화면 - 127.0.0.1:8000
admin 화면 - 127.0.0.1:8000/admin

04. 데이터베이스(ORM)

테이블 생성

models.py에 테이블 클래스 정의 후 admin.py에 등록

레코드 다루기

레코드 읽기
데이터 검색: 데이터 전체 - QuerySet 타입으로 반환, 데이터 한개 - Student 타입으로 반환
필드 데이터 검색: 데이터 다수 - '[]'를 이용한 접근, 데이터 한개- '.'을 이용한 속성 접근
데이터 필터
데이터 정렬
레코드 업데이트 - 데이터 수정
레코드 삭제 - 데이터 삭제

05~07. 학사 관리 프로그램 실습