본문 바로가기

내배캠/TIL

TIL/17/20230404(수정중)

728x90

파이썬 장고 실무 기초(2)


프로젝트 구조 만들기

      • 장고가 일하는 순서(GPT 발췌)
        • 장고(Django)는 MVC(Model-View-Controller) 디자인 패턴을 기반으로 한 웹 프레임워크입니다. 따라서 일반적으로 장고가 일하는 순서는 다음과 같습니다.
          1. 클라이언트로부터 HTTP 요청이 전송됩니다.
          2. 장고의 URL Dispatcher가 요청을 분석하여 해당 요청을 처리할 View 함수를 결정합니다.
          3. View 함수가 실행됩니다. 이때, 필요한 경우 Model을 통해 데이터를 가져오거나, Template을 통해 HTML을 렌더링합니다.
          4. View 함수가 처리한 결과를 HttpResponse 객체에 담아 클라이언트에게 반환합니다.
          5. 클라이언트는 HttpResponse 객체를 받아 웹 브라우저에 표시합니다.이러한 일련의 과정을 통해 장고는 웹 어플리케이션을 개발할 수 있도록 도와줍니다.
      • 프로젝트 구조 만들기
        • 내가 만들 프로젝트는 SNS 이므로, 간단하게 3가지 기능이 구현되면 될것같다.
          • 사용자 관리 (회원가입 / 로그인 / 로그아웃)
          • 글쓰기
          • 친구만들기
        • 3가지 기능을 나누어보니 '사용자(user)' 와 '글(tweet)' 로 나눌 수 있을 것 같다.
          명령어를 사용해서 프로젝트의 기능을 할 수 있는 앱을 만들어 보자
        • $ django-admin startapp user # user 앱 생성
          $ django-admin startapp tweet # tweet 앱 생성
        • 프로젝트 세팅하기
          • 명령어를 통해 user앱과 tweet앱을 만들었다면, 이제는 Django에게 만든앱을 알려줘야 한다.
            <프로젝트명> 폴더안에 있는 setting.py를 수정해보자.
            • settings.py는 Django가 서버를 실행하면서 알아야 할 정보들을 적어주고 있다.
            • settings.py의 설정들 중 INSTALLED_APPS에 우리가 만든 앱을 추가 하도록 한다.
              ## 내가 추가한 앱들 ##
              
              INSTALLED_APPS = [
                  'django.contrib.admin',
                  'django.contrib.auth',
                  'django.contrib.contenttypes',
                  'django.contrib.sessions',
                  'django.contrib.messages',
                  'django.contrib.staticfiles',
                  'tweet', # tweet추가
                  'user', # user추가
              ]
              
              
              ## 기본으로 세팅된 값 ##
              
              INSTALLED_APPS = [
                  'django.contrib.admin',
                  'django.contrib.auth',
                  'django.contrib.contenttypes',
                  'django.contrib.sessions',
                  'django.contrib.messages',
                  'django.contrib.staticfiles',
              ]

 


데이터베이스와 Django ORM 알아보기

 

      • 데이터베이스 연결하기
        • 장고 실행하기 - settings.py 에 있는 DATABASES 라는 정보를 가지고 있는 데이터 베이스와 자동 연결
        • db.sqlite3 이 생성되었는지 확인, 보통 manage.py 파일이랑 같은 위치에 생성
        • 확장팩에서 SQLite Viewer 설치
        • db.sqlite3 을 확장팩 SQLite Viewer 로 열어서 확인 가능
      • ORM이란?
        • ORM (Object Relational Mapping) 은 데이터베이스를 하나의 '객체(Object)' 덩어리로 보고, 데이터베이스를 SQL언어가 아닌 클래스로 쉽게 표현 및 사용 할 수 있게 해 준다. 
      • User Model 만들기 * Django 는 기본적으로 User 모델을 제공한다. but, 우리는 직접 만들어보고 구조를 이해해보자. 
        • 프로젝트 생성시 만들었던 user앱에서 models.py를 열고 아래 코드를 넣어준다. 
728x90

'내배캠 > TIL' 카테고리의 다른 글

TIL/19/20230406  (1) 2023.04.07
TIL/18/20230405  (1) 2023.04.05
TIL/16/20230403  (4) 2023.04.03
TIL/15/20230331  (0) 2023.04.03
TIL/14/20230330  (0) 2023.04.03