django #1 CRUD(1) - Initial Setting

Junyoung Kim·2022년 1월 11일
0

django

목록 보기
1/10

C.R.U.D란 Create, Read , Update, Delete의 약자로,
관계형 데이터베이스의 핵심 기능인 데이터의 '생성', '열람', '수정', '삭제'를 의미한다.

CRUD Session 1,2를 통해서 웹 프레임워크인 django와 관계형 데이터베이스를 다루는 프로그램인 MySQL을 연동해서 django에서 데이터의 C.R.U.D를 실습하고, Django의 구조인 URLconf와 View, Model, 그리고 Model이 Database와 요청/응답하기 위해 필요한 ORM (Object Relational Mapping), Database와 통신하는 method인 model.objectsQuerySet API에 대해 알아보았다.

Django 초기 세팅

  1. 가상 환경 설정
    프로젝트마다 독립적인 패키지의 관리를 위해 프로젝트마다 새로운 가상환경을 생성해 주어야 한다
    (프로젝트마다 프로그래밍 언어나 패키지의 버전이 다를 수 있음)
conda create -n "가상환경 이름" python=3.8
conda activate "가상환경 이름"

  1. Database 설정
$ mysql -u root -p
mysql> create database NAME character set utf8mb4 collate utf8mb4_general_ci;

character set 뒤는 DB에 이모지같은 특수문자의 저장을 위한 UTF 설정이다.

  1. Package 설치
pip install django
pip install mysqlclient
pip install ipython
pip install django-cors-headers
pip install PyMySQL

mysqlclient, pymysql은 sql관련 package, corsheader는 보안 관련 package, ipython은 python code를 한줄 마다 실행시킬 수 있게 하는 package다.

  1. Django Project 생성
conda activate "가상환경 이름"
django-admin startproject "프로젝트 이름"
cd "프로젝트 이름"
  1. settings.py 설정
  • IP허용 : ALLOWED_HOSTS = ['*']
  • 주석처리 : admin,csrf,auth
  • ADMIN url 제거 :project/urls.py urlpatterns에서 path-admin 삭제
  • my_settings.py 생성 : 보안과 관련된 DATABASES,SECRET_KEY를 별도의 파일인 my_settings.py로 옮긴다. settings.py에 옮긴 내용 import까지 해준다.
  • Installed app /middleware 관리 : corsheaders 추가, startapp 실행 시 appname 추가
  • CORS 추가 설정, /관련 에러 제거 settings.py에 paste
  1. git
    1) git 초기화 : manage.py 폴더로 cd후 실행

    git init

    2) .gitignore파일 생성 : 보안을 위해 중요 파일이나 폴더는 업로드하지 않기 위해서 생성

  • gitignore.io에 관련 태그(python,vscode,linux 등) 전부 넣어 실행 후 copy하여 .gitignore에 paste

  • 개인적인 중요 파일이나 폴더(ex)my_setting.py) 기입

    3) add & commit

 git add . # `.` 는 전체 추가한다는 뜻
 git commit -m "MESSAGE"

4) branch 생성

git branch 브랜치 이름		#생성
git checkout 브랜치 이름		#이동
git checkout -b 브랜치 이름  #생성과 이동

5) app 생성

  • settings.py에 installed app에 app name 추가
python manage.py startapp products

6) push

git remote origin "github 주소명"
git push origin "브랜치 이름"
 
 

0개의 댓글

관련 채용 정보