pip install django
# 이후에 MySQL server에 접속하기 위한 package
$ pip install mysqlclient
(중요)mysql 부터 설치해주세요!!
$ django-admin startproject westarbucks
$ cd westarbucks
$ python manage.py startapp products
startproject '프로젝트명' 으로 프로젝트를 생성하고
manage.py가 있는 디렉토리에서 startapp 'app 이름' 으로 app을 생성한다.
$ mysql.server start
$ mysql -u root -p
mysql> create database "NAME" character set utf8mb4 collate utf8mb4_general_ci;
데이터베이스를 설정하지 않으면 Django는 sqlite3으로 데이터베이스를 자동으로 설정하는데 mysql을 사용하는게 훨씬 좋아서 mysql을 설정해서 사용하기로 결정했다. mysql에 접속해서 create database "NAME" character set utf8mb4 collate utf8mb4_general_ci; 을 입력해서 데이터 베이스를 만든다.
ALLOWED_HOSTS = ['*']
# Application definition
INSTALLED_APPS = [
# 'django.contrib.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',
]
처음에 startproject로 프로젝트를 만들면 settings.py 파일이 자동적으로 설치되는데 여기로 들어가서 몇가지 설정을 바꿀 필요가 있다.
현재 나는 admin,auth 설정이 필요가 없어서 주석처리를 했고 HOSTS = ['*'] 값을 넣었다. admin,auth를 사용하지 않는데 주석처리를 하지 않으면 데이터베이스에 필요없는 테이블들이 생성되기 때문에 데이터베이스를 가볍게 만들기 위해서 주석처리했다.
INSTALLED_APPS를 보면 'products'가 입력된것을 볼 수 있는데 이것은 내가 만든 app의 이름이다. 이것을 반드시 입력시켜야 한다.
입력시키지 않으면 Django는 'products'라는 app을 만들었다는것을 알지 못한다.
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DATABASE 명',
'USER': 'root',
'PASSWORD': 'mysql 비밀번호',
'HOST': 'localhost',
'PORT': '3306',
}
}
SECRET = {
'secret':'=6xvu3t)6+8k8vi@b-(g4=2ah$@vi*^f@h#fraf)mc-_3@xw8t',
}
settings.py에 위에 값을 입력해도 되지만 개인정보 노출을 막기위해서 manage.py가 있는 디렉토리에 my_settings.py 파일을 만들어서 위에 값을 입력하면 된다.
import my_settings
from pathlib import Path
DATABASES = my_settings.DATABASES
입력후에 setting.py 파일로 돌아와서 import my_settings를 입력후에 DATABASES = my_settings.DATABASES 를 입력한다.
from django.urls import path
urlpatterns = [
]
admin, auth를 주석처리 했기 때문에 urls.py 파일에서 설정값을 위에 나와있는 것처럼 바꿔 놓으면 된다.
처음에는 설정값 입력하는것도 어려웠는데 2번정도 해보니 별로 어렵지 않았다.