TIL #7 [Django] mysql database에 Table 생성하기

ahn__jh·2021년 3월 29일
0

1. project,app 생성

django-admin startproject "프로젝트이름"

프로젝트 생성

python.manage.py startapp "app이름"

app생성

2.mysql 테이블 생성

create database crud character set utf8mb4 collate utf8mb4_general_ci;

테이블 생성하기

3.settings.py 설정

ALLOWED_HOSTS = ['*']

접속하는 ip를 전부 허용
사용하지않는 admin,arth,csrf,arth middleware #주석 처리하기
생성한 앱 apps에 추가하기

4.urls.py

파일에 admin settings.py에서 주석 처리한 기능 import와 주소 삭제 후 저장

5.mysql로 database 연동

my_setting.py 따로 파일 만든후 SECRTE 키와 , DATABASES 값 만든후 프로젝트안 settings.py에 연동

secret키 같이 보안이 중요한 내용들을 노출하지 않고 관리하기 위함

6.models.py에 database table 추가

from django.db import models


class Menu(models.Model):
		name = models.CharField(max_length=20)


class Category(models.Model):
		name = models.CharField(max_length=20)
		menu = models.ForeignKey('Menu', on_delete=models.CASCADE)


class Product(models.Model):
		name  = models.CharField(max_length=100)
		price = models.IntegerField()
		menu = models.ForeignKey('Category', on_delete=models.CASCADE)

추가 후 python manage.py makemigrations "app이름"
makemigrations 후 python manage.py migrate

  • models.py 수정하면 migrations 필수로 다시해야함!

7.mysql에서 생성된 table 확인하기

mysql -u root -p   로그인 후 


show databases;    등록된 databases가 없다면

create database "데이터베이스 이름" character set utf8mb4 collate utf8mb4_general_ci;

코드로 추가시키면 된다.
use "사용할 database이름"

show tables; 		#데이터베이스 table 내용 확인 가능

0개의 댓글