2021. 3. 17. 02:45ㆍProgram/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 |
---|