코딩/Django

Django 모델 설계

김은수2 2023. 4. 12. 04:08

Django를 데이터베이스 없이 쓸수 있더라도 데이터베이스 레이아웃을 파이썬 코드로 표현할 수 있는

object-relational mapper 가 같이 딸려옴

 

데이터베이스를 자동으로 생성해주는 Django command-line 유틸리티

 

$ python manage.py makemigratilns 

$ python manage.py migrate

 

makemigration 명령은 생성 가능한 모델을 찾아 테이블이 존재하지 않으면 마이그레이션을 생성

migrate 명령은 마이그레이션을 실행하고 사용자의 데이터베이스에 테이블을 생성 , 

 

 

//데이터베이스 스키마, 관계형 데이터베이스에서 데이터가 구조화되는 방식을 정의 

여기에는 필드, 데이터유형, 그이고 이러한 엔티티(개체)간의 관계등 논리적 제약조건이 포함

스키마는 시각적 표현을 사용하여 데이터베이스의 아키텍처를 전달, 조직의 데이터관리 규율의

기반//

 

 

## 주의 사항

 

프로젝트를 생성할 때, 파이썬 또는 장고에서 사용중인 이름은 피해야함 

test, login 같은 이름들

 

 

# 장고 디렉토리 내의 파일들 from 공식문서 

 

  • file:mysite/ 디렉토리 밖은 프로젝트를 담는 공간입니다. 그 이름은 Django 와 아무 상관이 없으니, 원하는 이름으로 변경해도 됩니다.
  • manage.py: Django 프로젝트와 다양한 방법으로 상호작용 하는 커맨드라인의 유틸리티 입니다. manage.py 에 대한 자세한 정보는 django-admin and manage.py 에서 확인할 수 있습니다.
  • mysite/ 디렉토리 내부에는 프로젝트를 위한 실제 Python 패키지들이 저장됩니다. 이 디렉토리 내의 이름을 이용하여, (mysite.urls 와 같은 식으로) 프로젝트의 어디서나 Python 패키지들을 임포트할 수 있습니다.
  • mysite/__init__.py: Python으로 하여금 이 디렉토리를 패키지처럼 다루라고 알려주는 용도의 단순한 빈 파일입니다. Python 초심자라면, Python 공식 홈페이지의 패키지를 읽어보세요.
  • mysite/settings.py: 현재 Django 프로젝트의 환경 및 구성을 저장합니다. Django settings에서 환경 설정이 어떻게 동작하는지 확인할 수 있습니다.
  • mysite/urls.py: 현재 Django project 의 URL 선언을 저장합니다. Django 로 작성된 사이트의 “목차” 라고 할 수 있습니다. URL dispatcher 에서 URL 에 대한 자세한 내용을 읽어보세요.
  • mysite/asgi.py: 현재 프로젝트를 서비스하기 위한 ASGI-호환 웹 서버의 진입점입니다. 자세한 내용은 ASGI를 사용하여 배포하는 방법 를 참조하십시오.
  • mysite/wsgi.py: 현재 프로젝트를 서비스하기 위한 WSGI 호환 웹 서버의 진입점입니다. WSGI를 사용하여 배포하는 방법를 읽어보세요.

 

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path("polls/", include("polls.urls")),
    path("admin/", admin.site.urls),
]

에서

 

패스의 인수 route

 

route 는 URL 패턴을 가진 문자열이다. 요청이 처리될 때, Django는 urlpatterns의 첫번째 패턴부터 시작하여,

일치하는 패턴을 찾을 때까지 요청괸 URL을 각 패턴과 리스트의 순서대로 비교한다.

 

패턴들은 GET 이나 POST의 매개 변수들, 혹은 도메인 이름을 검색하지 않는다.

예를 들어, https://www.example.com/myapp/ 이 요청된 경우, URLconf 는 오직 myapp/ 부분만 바라본다.

또한, https://www.example.com/myapp/?page=3 같은 경우에도 역시 myapp/ 만 신경쓴다.

 

패스의 인수 view 

 

Django에서 일치하는 패턴을 찾으면 HttpRequest 객채를 첫번째 인수로 하고, 경로로부터 캡처된 키워드 값을

키워드 인수로하여 특정한 view 함수를 호출한다. 

 

패스의 인수 name

 

URL 에 이름을 지으면, 템플릿을 포함한 Django 어디에서나 명확하게 참조할 수 있습니다. 이 강력한 기능을 이용하여, 단 하나의 파일만 수정해도 project 내의 모든 URL 패턴을 바꿀 수 있도록 도와줍니다.