WIL #6 [Django] crud_1

신승호·2021년 4월 23일
0

WIL

목록 보기
8/20

🤷 기간 : 2021.04.23 ~ 2021.04.23
🤷 자료 : https://www.notion.so/wecode/Django-C-R-U-D-1-e105b472f2cc4647a38305b343389de3
🤷 내용: Django 초기 세팅


URLconf, View, Model 중에 Model을 작성하고 ORM을 통해서 Database에 table을 만들고 데이터를 생성, 조회, 수정, 삭제하는 방법을 복습해보자 ..

Django C.R.U.D

0. 먼저, 가상환경 세팅해

1. Django project 생성

  • Django project 생성
django-admin startproject westarbucks	# 나중에 내부 파일과 헷깔리기 때문에 이름 바꿔줬고(westarbucks_name), 안에꺼는 바꾸면 안되고 가장 밖에꺼만 바꿔준다
  • manage.py이 있는 디렉토리로 가자악 !
cd westarbucks_name

2. git업로드 시 노출되지 말아야할 것을 세팅하자.(".gitignore" 설정)

  • 소스를 공유하기 위해 git을 사용하지만 올리고 싶은것 올리고 싶지 않은것, 올려서는 안되는 것들이 존재하겠죠 ?
    ->.gitignore을 파일을 생성해서 관리하자 ! !
  • 일단 파일 먼저 생성하자 manage.py파일이 있는westarbucks_name 디렉토리에 만들어야해
    cd westarbucks_name
    touch .gitignore
    vi .gitignore
  • 이제 .gitignore 이제 넣으면 안될 것 추가하자 ㅡ ㅡ
    • 먼저, "https://www.toptal.com/developers/gitignore"로 들어갑니다.
      • python, pycharm, vscode, vim, macOS, Linux, zsh를 각각 검색창에 추가한 다음,
      • 위의 사이트에서 사용하는 환경에 해당하는 키워드를 선택하면, 자동으로 .gitignore 파일에 정의할 요소들을 생성 해줍니다(편하쥬?)
      • 생성을 눌러서 들어갑시다. !
      • 전부다 긁어서 복사한다음 .gitignore 에 추가합니다 ! ! !
    • 그다음엔, westarbucks_name/my_settings.py 도 추가하장
      • 들어가는 안되는 정보(데이타베이스(DATABASES), Secret Key(SECRET))를 포함한 파일(my_settings.py)을 따로 생성한다음
      • .gitignore 에 넣어버리자 ! ! !
      • 그냥 아래와 같이 얌전하게 파일명만 넣어주면 됌 ㅋㅎ
  • my_settings.py에 포함되어야 하는 (데이타베이스(DATABASES), Secret Key(SECRET))는 아래와 같이 생겨야한다.
DATABASES = {
'default' : {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': '20th',				# mySQL 환경 이름 ? 할튼 그거
    'USER': 'root',				# 거의 유져는 루트다
    'PASSWORD': '????',				# 들어오는 비번 쳐 ! !		
    'HOST': '127.0.0.1',			# 옆의 숫자는무조건 내 컴퓨터를 가르키는 것임
    'PORT': '3306',				# mySQL 기본설정 포트 번호
    }
}
`
 SECRET = 'django-insecure-jashkdfjahssdhf'	# 이 정보는 "westarbucks/settings.py"의 SECRET KEY를 찾아서 가지고 와서 써줘라 ! 엄청 김 ㅋㅎ
  • 미안하지만 여기서 끝난게 아냐 ㅡ ㅡ westarbucks/settings.py에서 DATABASESSECRETwestarbucks/my_settings.py로 가져왔잖아 ?
    • 그럼, settings.py를 바꿔줘야해 ㅡ ㅡ 쉽지않구먼
    • 근데 쉬움 ㅋㅎ, 위쪽에 먼저 이거 넣어주고 !
    from my_settings import DATABASES, SECRET
    # Database
    #   https://docs.djangoproject.com/en/3.2/ref/settings/#databases
    `
    DATABASES = DATABASES		# 다 지우고 이거랑 똑같이 만들어주면 되고
    # SECURITY WARNING: keep the secret key used in production secret!
    SECRET_KEY = SECRET		# 다 지우고 이거랑 똑같이 만들어 주면 된다.
  • 여기 까지 되었니 ? 결국 .gitignore 에 들어갈 정보는,

3. Database를 생성하자

  • mySQL 서버를 실행시키자
$ mysql.server start
  • mySQL 서버로 들어가자 !
crud1-20기 ❯ mysql -u root -p
Enter password:				# 지정했던 Password 치자
  • 서버에 이름 정하자
create database "NAME" character set utf8mb4 collate utf8mb4_general_ci;
# 위에꺼에서 "NAME"만 바꿔 주면 된다 ~
create database 20th character set utf8mb4 collate utf8mb4_general_ci;
  • 일단 여기까지 하고, control+z로 나와이써

4. westarbucks/settings.py 를 한번 또 세팅해야해

  • IP 허용
  • settings.py를 보다보면 ALLOWED_HOST가 있는데 접근허용 관련 내용이다. 지금은 우리 프론트사람들 컴터 하나하나를 지정해줄수 없으니, 전부다 허용으로 하려한다 ! 아래와 같이 바꿔줘라 !
    ALLOWED_HOSTS = ['*']
  • 주석처리
    • 사용하지 않는 내용을 빼주려고 하는것이다 !
  INSTALLED_APPS = [
#    'django.contrib.admin',			# admin 안쓸꺼야 이번엔
#    'django.contrib.auth',			# 로그인 회원가입 그런 기능 안할꺼야
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'products',
]
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
#    'django.middleware.csrf.CsrfViewMiddleware',			# 템플릿과 관계있는것 안할꺼약
#    'django.contrib.auth.middleware.AuthenticationMiddleware',		# 로그인 회원가입그런기능 안한다 해찌 ? 
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

5. westarbucks/urls.py 에서 세팅 한번 하자

  • 원래는 urlpatterns 안에는 admin 관련 내용이 있었으나 아까 안쓴다 했지 ?
    • urlpatterns 내용 아래처럼 다 비워라.
from django.urls import path

urlpatterns = [
]

6. Django Application 생성

  • 먼저, westarbucks_name디렉토리를 현재 디렉토리로 주고 startapp 하자
python manage.py startapp products	# products 는 App디렉토리 이름임  ~
  • 그리고 나서, 만들어진 Appstarbucks/settings.py 에 추가해줘야함
INSTALLED_APPS = [
   # 'django.contrib.admin',		 #  admin 안써요 ~ 
   # 'django.contrib.auth',     	 #  로그인 회원가입 그런 기능 안써요 ~ 
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'products',				# 요기 추가했지 그냥 product 추가하면 됩니다.
]

여기까지 초기 세팅 끝 ㅡ ㅡ

profile
신승홉니다

0개의 댓글

관련 채용 정보