[Django] 장고로 프로젝트 만드는 순서

2021. 3. 17. 02:45Program/Django

장고로 프로젝트 만드는 순서


1. 파이참 프로젝트 만들기

2. 장고 설치

3. 장고 프로젝트 만들기

4. 설정하기 (데이터베이스, S3)

5. 데이터베이스 초기화

6. 관리자 계정 만들기

-----

7. 앱 만들기

8. 모델 설계 (데이터베이스)

-----

9. 뷰 만들기 (기능,계산)

10. 템플릿 만들기 (화면에 표시될 내용, 양식... HTML, CSS 등)

11. URL 만들기 (대표적인 기능(화면) : CRUD -> Create, Read, Update, Delete)


깃허브 프로젝트 repository 만들기

  • Create a new repository : Github 사이트 or 데스크탑 어플을 통해 새로운 프로젝트 저장소 생성
  • .gitignore : 깃으로 버전을 관리하지 않을 폴더와 파일 설정. Python
  • 깃허브 저장소 클론 : Github 데스크탑 어플을 쓰면 자동으로 클론해줌...

 

파이참에서 프로젝트 폴더 오픈

  • File > Open 메뉴에서 파이참에서 깃허브 저장소로 클론했던 프로젝트 디렉토리를 오픈

 

가상환경 만들기

  • 파이참에서 가상환경 만들기 : File > Setting 으로 메뉴 이동후 왼쪽메뉴에서 프로젝트 디렉토리>Python Interpreter 선택한 다음 설정버튼에서 Add 선택 설정창이 열리면서 New environment를 선택하고 Apply를 선택한후 OK버튼 클릭
  • 가상환경실행 : >venv\Scripts\activate.bat
  • 가상환경종료 : {venv} > deactivate
  • pip 리스트 확인 : (venv} > pip list
  • 가상환경에서 장고 인스톨 : (venv) > pip install django

 

장고 프로젝트 생성하기

  • (venv) > django-admin startproject project_name .  프로젝트 이름에 - 는 사용할 수 없음… 맨 마지막 줄에 한칸 띄우고 . 을 찍으면 현재 폴더에 프로젝트 파일을 생성하겠다는 의미

 

데이터베이스 생성하기

  • (venv) > py manage.py migrations  (장고로 프로젝트를 생성하면 장고가 알아서 마이그레이션을 만들어줌…)
  • (venv) > py manage.py migrate  (db.sqlite3라는 파일이 생성되고, 그 안에 마이그레이션을 반영한 데이터베이스가 생성.)

 

관리자 계정 생성하기

  • (venv) > py manage.py createsuperuser  (사용자명과 이메일주소를 입력하고, 비밀번호를 두번 입력)

 

프로젝트 서버 실행하기

  • (venv) > py manage.py runserver

 

깃허브 프로젝트에 commit 하기

  • (venv) > git comm-t -m "커밋 메시지 입력"
  • (venv) > git push  깃허브에 커밋을 하기 위해서 터미널에서 위와 같이 입력하여 커밋하는것도 가능하고 깃허브 데스크탑 앱을 사용하면 직접 앱에서 커밋 하는것도 가능하다

앱만들기

  • (venv) > py manage.py starapp blog

 

모델만들기

  • IDE에서 models.py 파일에 클래스 모델을 생성
  • settings.py에 앱 등록하기 : setting.py 내에 INSTALLED_APPS 라는 리스트에 새로 생성한 앱 등록
  • (venv) > py manage.py makemigrations 데이터베이스에 반영하여 실제 테이블 생성하면 앱폴더 내의 migration 폴더 내에 0001_initial.py라는 파일이 생김.
  • (venv) > py manage.py migrate  명령을 실행하여 데이터베이스에 모델 적용
  • admin.py에 모델 추가

        from .models import Post

        admin.site.register(Post)

 

로컬시간 적용하기

  • settings.py를 열어 TIME_ZONE = 'UTC'라고 되어 있는 항목을 'Asia/Seoul'로 수정하고 USE_TZ = False로 설정
  • models.py 파일에 포스트를 작성하거나 수정하면 자동으로 작성시각이 저장되도록 설정

        created_at = models.DateTimeField(auto_now_add=True)

        updated_at = models.DateTimeField(auto_now=True)

  • 모델을 수정했으니 makemigrations로 장고에게 알려주고, migrate로 데이터베이스에 반영

 

 

<!-- 반복구간 -->

 

URL 설정하기

  • urls.py에 각각 원하는 경로로 접속하는 경우를 추가

        from django.contrib import admin

        from django.urls import path, include

 

        urlpatterns = [

            path('blog/', include('blog.urls')),

            path('admin/', admin.site.urls),

        ]

  • 앱 폴더내에 urls.py를 생성

        from django.contrib import admin

        from django.urls import path, include

 

        urlpatterns = [

            path( ' ', views.index),

        ]

 

view.py로 페이지 만들기 (함수정의하기)

  • FBV(Function Based View) 또는 CBV(Class Based View) 중 선택하여 view페이지를 작성
  • FBV는 함수를 직접 만들어서 원하는 기능을 직접 구현할 수 있고,
  • CBV는 장고가 제공하는 클래스를 활용해 구현할 수 있다.

 

템플릿 파일 만들기

  • 앱 디렉토리내에 templates/앱폴더명과같은 폴더명/파일명.html을 만든다
  • 파일명.html 파일을 수정(업데이트) 한다

 

<!-- //반복구간 -->

 

 

'Program > Django' 카테고리의 다른 글

[Django] 장고 공식사이트 튜토리얼 따라하기 #1  (0) 2021.03.16