📢 공지사항
home

3강 ( Django 프로젝트 설계 )

담당멘토
최준호
검증인원
성재
정리내용

Django 프로젝트 설계

■ Django Framework 흐름도

Django Request-Response Cycle
① Client에게 Request를 URL로 받는다.
② urls.py에서 받은 URL을 구분하여 어떻게 사용할지 결정한다.
③ view에 있는 함수나 메소드를 선택한다.
④ 정해진 데이터 모델을 데이터베이스에서 요청한다.
⑤ 데이터베이스에서 가져온다.
⑥ 가져온 데이터를 view에 넘겨준다.
⑦ 데이터를 가공한다.
⑧ 가져온 데이터들을 가지고 template을 구성해준다.
⑨ Client에게 Response을 template 형태로 준다.

■ URLconf(urls.py)

Request Url
path(‘student/register/, views.student_register), # 각각의 url 패턴들은 urlpatterns 리스트 안에 ,로 구분됨 # path 함수의 첫번째 인자는 요청 url, 두 번째 인자는 매핑될 view의 함수 # 세 번째 인자 name='' 으로 별명 지정 가능 # 프로젝트 전체 urls.py에 앱마다 url을 include하여 계층형으로 사용
Python
복사

■ VIEW( views.py )

Function and Method
def registerStudent(request): # 데이터베이스 등을 이용한 프로그램 실행 결과 return HttpResponse()
Python
복사

■ MODEL( models.py )

class Student(models.Model): s_name = models.CharField(max_length=30) s_major = models.CharField(max_length=30)
Python
복사
ORM(Object Relational Mapping) 방식
SQL을 다루기 위한 쿼리문을 class로 맵핑하여 사용자가 쉽게 구성할 수 있는 방식
데이터베이스와 객체 지향 프로그래밍 언어 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법

■ TEMPLATE( *.html )

사용자에게 보여지는 부분 → User Interface
settings.py 에 INSTALLED_APPS 사용하는 앱, 설치되는 앱을 등록해줘야 사용할 수 있다. (AppConfig 명을 넣어주기 패키지 네임까지)

■ 프로젝트 설정 ( setting.py )

settings.py : 프로젝트의 전체적인 설정을 담당한다.
→ 모든 애플리케이션을 설정파일에 등록
DEBUG = 개발모드와 운영모드 구분
개발모드( True ) : 설정하지 않아도 자동으로 localhost로 정의
운영모드 ( False ) : 서버 IP주소로 정의

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

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

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

superuser 생성
python manage.py createsuperuser
Shell
복사
서버실행 ( 127.0.0.1:8000 or localhost:8000 )
python manage.py runserver 0.0.0.0:8000
Shell
복사
ADMIN 페이지 : 127.0.0.1:8000/admin or localhost:8000/admin