django-admin startproject "프로젝트이름"
프로젝트 생성
python.manage.py startapp "app이름"
app생성
create database crud character set utf8mb4 collate utf8mb4_general_ci;
테이블 생성하기
ALLOWED_HOSTS = ['*']
접속하는 ip를 전부 허용
사용하지않는 admin,arth,csrf,arth middleware #주석 처리하기
생성한 앱 apps에 추가하기
파일에 admin settings.py에서 주석 처리한 기능 import와 주소 삭제 후 저장
my_setting.py 따로 파일 만든후 SECRTE 키와 , DATABASES 값 만든후 프로젝트안 settings.py에 연동
secret키 같이 보안이 중요한 내용들을 노출하지 않고 관리하기 위함
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 필수로 다시해야함!
mysql -u root -p 로그인 후
show databases; 등록된 databases가 없다면
create database "데이터베이스 이름" character set utf8mb4 collate utf8mb4_general_ci;
코드로 추가시키면 된다.
use "사용할 database이름"
show tables; #데이터베이스 table 내용 확인 가능