[Django]アプリケーションの作成と構成

3871 ワード

アプリケーションの作成
manage.pyファイルがあるディレクトリに次のように入力します.
#앱 만들기
#python manage.py startapp 앱이름

python manage.py startapp products
その後、djangoはproductsというフォルダとコンポーネントを作成します.
westarbucks/
	manage.py
	westarbucks/
    		__init__.py
            	settings.py
                urls.py
                asgi.py
                wsgi.py
    	products/
        	__init__.py
            	admin.py
                apps.py
                migrations/
                	__init__.py
                models.py
                tests.py
                views.py
設定
まず、データベースを作成します.
#mysql 서버 실행 후 로그인

mysql.server start
mysql -u root -p

#Database 만들기
#mysql>create database 데이터베이스이름 character set utf8mb4 collate utf8mb4_general_ci;

mysql>create database westarbucks character set utf8mb4 collate utf8mb4_general_ci;
そして、Westarbucksディレクトリのsettings.pyファイルを変更します.
ALLOWED_HOSTS = ['*']
私のdjangoサーバにアクセスできるhostを設定します.
実際のサービスでは、必要なアドレスが提供されます.
練習項目なので、「*」と入力するとすべての接続が許可されます.
次に未使用の部分にコメントします.
INSTALLED APPSに作成したアプリケーションを追加します.
#사용하지 않을 admin, auth, csrf 부분을 주석 처리한다.

INSTALLED_APPS = [
      #'django.contrib.admin',
      #'django.contrib.auth',
      'django.contrib.contenttypes',
      'django.contrib.sessions',
      'django.contrib.messages',
      'django.contrib.staticfiles',
      'products'             #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',
  ]
データベースに接続します.
#mysql을 사용할 수 있는 형식

DATABASES = {
     'default' : {
        'ENGINE': 'django.db.backends.mysql', #mysql로 수정
        'NAME': 'westarbucks', #내가 만든 데이터베이스 이름
        'USER': 'root',
        'PASSWORD': 데이터베이스비밀번호, #mysql 접속 비밀번호
        'HOST': 'localhost',
        'PORT': '3306', #mysql 디폴트값
 	}
}
settings.pyファイルのadmin機能にコメントしました.
djangoで自動設定する設定も変更する必要があります.
westarbucks/urls.pyファイルのadminに関連するインポートとパスを削除します.
#수정 전
from django.contrib import admin #삭제할 부분
from django.urls import path

urlpatterns = [
	path('admin/', admin.site.urls), #삭제할 부분
]

#수정 후
from django.urls import path

urlpatterns = [
]
ここまでで、基本的な設定は終了です.
**追加のセキュリティ設定が必要**
westarbucks/settings.pyファイルの
SECRET KEYとDATABASESはmy settingspyファイルに移行します.
my_settings.pyファイルはmanage.pyと同じ場所にあるはずです.
#my_settings.py

SECRET_KEY = '시크릿 키' #settings.py의 SECRET_KEY 복붙

DATABASES = {         #settings.py의 DATABASES 복붙
     'default' : {
        'ENGINE': 'django.db.backends.mysql', #mysql로 수정
        'NAME': 'westarbucks', #내가 만든 데이터베이스 이름
        'USER': 'root',
        'PASSWORD': 데이터베이스비밀번호, #mysql 접속 비밀번호
        'HOST': 'localhost',
        'PORT': '3306', #mysql 디폴트값
 	}
}

#settings.py

import my_settings  #my_settings.py를 import한다.

SECRET_KEY = my_settings.SECRET_KEY  

DATABASES = my_settings.DATABASES
すべての設定が完了しました.
python manage.py runserver
サーバーが正常に動作しているかどうかを確認します.