pip install djangodjango-admin startproject <Project name>python [manage.py](http://manage.py) startapp <App name>manage.py가 있는지 확인settings.pyINSTALLED_APPS 내에 등록되어야 한다.<Project directory>/<Application directory>/app.pyINSTALLED_APPS에 등록시 경로는 다음과 같이 한다.'<Application name>.apps.<App setting class name>'DEBUG변수의 값을 False로 주어 운영모드로 전환시켜야 한다.ALLOWED_HOST의 값으로 서버의 ip주소를 할당해줘야 한다.ALLOWED_HOST의 값은 아무 값을 할당하지 않아도 기본적으로 localhost이다.urls.pyClient로 부터 전달받은 **URL을 view함수와 연결시켜주는 역할**URL은 urlpatterns내 path함수로 정의 되어야 한다.path( "URL", views.<func name> or <method name>)from django.urls import path from .views import MainView # views.py의 MainView 클래스를 사용함 urlpatterns = [ path('', MainView.as_view()) # path 설정 ]
💡as_view method
class형 view에서class로 진입하기 위한 진입 method이다. 또한 호출을 한http method가GET인지POST인지DELETE인지PUT인지 판별해서 그에 맞는 함수를 실행 시켜 준다.
views.pyurls.py 와 연결된 함수 또는 메서드가 실제 작성되는 파일로 로직을 담당하는 파일Template에게 Client에게 보여질 페이지를 전달하는 역할도 하며 잘못된 url로 접근 시 에러 메시지를 반환하는 역할도 한다.urls.py내 path함수에 정의된 이름과 동일하게 작성되어야 한다.import json # json 데이터를 처리하기 위해 사용 from django.views import View # django 프레임 워크에 내장된 view 클래스 사용 from django.http import JsonResponse # Json으로 response 하기 위해 사용 class MainView(View): # django의 내장 view 클래스를 상속받음 def get(self, request): return JsonResponse({"Hello":"World"}, status=200)
models.pyDatabase의 Table을 정의하는 파일class를 이용하여 Table 를 생성 하게 된다.💡 Class를 통한 Table 생성
Table을 만들기 위해서class는 반드시models.Model을 상속받아야 한다.class TableName(models.Model)
Field의 정의는class내에서 이루어 지며Field Name = model.datatype(option)으로 정의한다.class Users(models.Model): # Field Name = models.datatype(option) name = models.CharField(max_length = 50) email = models.CharField(max_length = 50) password = models.CharField(max_length = 300) created_at = models.DateTimeField(auto_now_add = True) updated_at = models.DateTimeField(auto_now = True)
models.py에서 정의한 Table 구조를 manage.py의 makemigrations 옵션을 통해 생성되는 파일이 저장되는 디렉토리