TIL73. django CRUD(2)

Jaeyeon·2021년 3월 31일
0
post-thumbnail

세션 진행: 승현님

< 승현님의 말씀 >

  • 꼭 Django shell 에서 원하는 값이 나오는지 확인하고 views.py로 넘겨라
  • get, filter, all 를 먼저 마스터해라

Django CRUD 세션1에서는 models.py와 database에 대해서 공부를 했다면 오늘 세션은 클라이언트로부터 요청을 받고 urls.py에서 어디로 보내면 될지 결정 후에 views.py로 보내고

urls.py : 은행에서 번호표 뽑아서 안내해주는 사람
경로에 맞게 views.py로 안내를 한다.

그렇다면 나이키닷컴에는 앱이 예를 들어 뭐가 있을까?
회원관리 앱
상품관련 앱
매장찾기 앱
etc..

1.프로젝트 만들기

django-admin startproject 프로젝트 이름

2.앱 생성

python manage.py startapp 앱이름

3.settings.py 설정

  • allowed hosts
  • Installed_apps
  • middleware
  • corsheaders
  • my_settings

4.데이터베이스 만들고 연동하기

create database "NAME" character set utf8mb4 collate utf8mb4_general_ci;

5.models.py 만들기

6.installed_apps에 꼭 앱 추가하기

7.migrations, migrate 하기

8.urls.py 형,동생 관리하기

형 urls.py

from django.urls import path,include	#include 추가
urlpatterns = [
    path('user', include('users.urls'))	#기본주소 뒤에 user라는 이름이 들어오면 users.urls로 안내
]

동생 urls.py = 앱 폴더안에 따로 만들어야 한다.

from django.urls import path
from .views import UserView     # views.py에서 클래스를 가져와야 하니까 추가
urlpatterns = [
    path('',UserView.as_view())     # as_view는 UserView클래스 안에 get이면 get을 실행 post면 post 실행해주는 함수
]

9.views.py 만들기

views.py

from django.shortcuts import render 	# 필요없으므로 지워도 됨
from django.views import View   	# 장고에있는 views의 view를 상속받기 위해 import
from django.http import JsonResponse	# JsonResponse를 사용하려 import
from .models import User 		# models 안에 User 클래스를 가져옴
class UserView(View):			# 클래스이름은 models.py와 헷갈리지않게 하기위해 뒤에 view를 붙히는게 일반적
    def get(self,request):		# request가 get일 때
        return JsonResponse({'message': 'SUCCESS !'}, status = 200)     # Jsonresponse는 인자를 두개 받아야 됨 딕셔너리와 status

10.runserver 돌리기

manage.py와 동일한 디렉토리에서 python manage.py runserver를 한 후 터미널 하나를 더 띄워서 http GET localhost:8000/user를 입력하면

내가 설정한 메시지와 200 OK가 나온다.

형 urls.py -> 동생 urls.py -> views.py -> models.py & DB

profile
생각하는 개발자 되기

0개의 댓글