[강의][Django]3. Django 프로젝트 설계
3-1. Django framework flow
=) 알아야하는 것들
- 사용자가 요청한 URL을 어떻게 활성화해서 view중에 어떤 view가 실행되어야하는지를 설정하는 URL conf 방식에 대해 알아보기
- 받은 URL을 view는 어떻게 처리하는지, model쪽에 어떻게 넘기고, template쪽에 어떻게 데이터를 요청하는지
- model에서는 데이터베이스와 어떤 관계로, 어떻게 데이터를 전송하는지..
- template은 어떻게 view에서 온 데이터를 가지고 어떤 작업 후에 클라이언트에게 응답하는지...
3-2. URLconf(urls.py)
URLconf - tempProject(프로젝트이름)/tempPjt(내부기본프로젝트)/urls.py
경로에 존재함.
urlpatterns = [
path('student/register/', views.student_register),
path('student/search/', views.student_search),
path('student/modify/', views.student_modify),
path('student/delete/', views.student_delete)
]
- urlpatterns : urlpatterns 라는 변수명.
- 리스트 [ ] 로 묶여있음
- path( ) 함수 사용.
- ,(콤마)로 함수 구분
- 클라이언트 요청 URL : path('student/register/',
view에서 실행할 함수 또는 메서드 : views.student_register)
3-3. View(views.py)
: 클라이언트 요청 URL에 따라 실행하는 view 함수(혹은 메서드)들.
Views - tempProject(프로젝트이름)/student(애플리케이션이름?)/views.py
경로에 존재
def student_register(request):
# 데이터베이스 등을 이용한 프로그램 실행 결과
return HttpResponse( )
- student_register : 함수명
- request : 매개변수인 request 객체
- return HttpResponse( ) : Response 객체로 반환
3-4. Model(models.py)
Model - tempProject(프로젝트이름)/student(애플리케이션이름?)/models.py
경로에 존재
: ORM(Object Relational Mapping) 사용.
: SQL query문을 class를 이용해서 맵핑(?)
: 테이블 생성 이름 = 애플리케이션이름_클래스명(소문자)
ex)
class Student(models.Model):
s_name = models.CharField(max_length=30)
s_major = models.CharField(max_length=30)
3-5. Template(*.html)
Template - tempProject(프로젝트이름)/tempPjt(내부기본프로젝트)/setting.py
에서 Template파일 검색, 디렉토리 정의
: Template은 django에서 만들어주지 않음(?). 내가 임의로 만들었기 때문에 django가 template 파일을 찾을 수 있도록 알려주어야함. 👉🏻 INSTALLED_APPS에서 경로를 추가하면됨!
3-6. 프로젝트 설정
: (/내부기본프로젝트이름/setting.py)
에서 프로젝트의 전체적인 설정 담당.
: 모든 애플리케이션을 설정파일에 등록해야함.
: INSTALLED_APP에서 애플리케이션이름.apps.클래스명
으로 추가
- 개발모드와 운영모드 설정
- 개발 모드 : 아직 상용화 x
- 운영 모드 : 상용화 되었음 👉🏻 서버 고유의 IP 존재
DEBUG = True # 개발모드
DEBUG = False # 운영모드
ALLOWED_HOSTS=[localhost','127.0.0.1]
# 개발모드일 때는 입력하지 않아도 자동으로 local host로 정의
# 운영모드일 경우 해당 서버 IP 주소 입력
3-7. 기본 사용자 및 그룹 테이블 생성
-
사용자 및 그룹 테이블 생성 : python manage.py migrate
-
데이터 베이스 변경 사항 반영
: python manage.py makemigrations
: python manage.py migrate
👉🏻 꼭 migrate를 해주어야 데이터베이스 변경 완료됨!
-
관리자계정 생성 : python manage.py createsuperuser
+) 관리자 계정, 암호 등이 생성되어야 관리자 테이블에 접속이 가능.
-
서버 구동 : python manage.py runserver
Author And Source
이 문제에 관하여([강의][Django]3. Django 프로젝트 설계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@yejin20/강의Django3.-Django-프로젝트-설계
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
사용자 및 그룹 테이블 생성 : python manage.py migrate
데이터 베이스 변경 사항 반영
: python manage.py makemigrations
: python manage.py migrate
👉🏻 꼭 migrate를 해주어야 데이터베이스 변경 완료됨!
관리자계정 생성 : python manage.py createsuperuser
+) 관리자 계정, 암호 등이 생성되어야 관리자 테이블에 접속이 가능.
서버 구동 : python manage.py runserver
Author And Source
이 문제에 관하여([강의][Django]3. Django 프로젝트 설계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yejin20/강의Django3.-Django-프로젝트-설계저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)