TIL 23. Wedibooks Project(主プロジェクト)初期設定
Wedibooks Project
RedibooksのWebサイトをテーマにしたチームプロジェクト
Djangoプロジェクト初期設定
仮想環境の作成
プロジェクトのために
Wedibooks
というPython 3.8バージョンの仮想環境を作成し、アクティブにしました.$ conda create -n [가상환경 이름] python=3.8
$ conda activate [가상환경 이름]
仮想環境にDjangoをインストールし、Djangoパッケージをインストールします.m 1を使っているのでPyMySQLをインストールしました.
$ pip install django
$ pip install PyMySQL
データベースの作成
MySQLに入り、
Wedibooks
というDBを生成しました.$ mysql -u root -p
mysql> create database [DB 이름] character set utf8mb4 collate utf8mb4_general_ci;
プロジェクトの作成
プロジェクト名
Wedibooks
の名前をプロジェクト名とします.$ django-admin startproject Wedibooks .
Django setting
データベースと秘密鍵の露出を避けるためにmy settgins.pyを生成して設定しました.
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': [DATABASE 명],
'USER': [DB접속 계정명'],
'PASSWORD': [DB접속용 비밀번호],
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS': {'charset': 'utf8mb4'}
}
}
SECRET_KEY = [SECRET_KEY]
サーバのすべてのIPへのアクセスを許可します.ALLOWED_HOSTS = ['*']
my settingsの情報をインポートし、SECRET KEYとDATABASESを接続します.M 1 MySQL設定にPYMYSQLを追加します.from my_settings import DATABASES, SECRET_KEY
import pymysql
pymysql.install_as_MySQLdb()
SECRET_KEY = SECRET_KEY
DATABASES = DATABASES
Corsheadersをインストールし、App、MiddleWareを設定します.Admin,csrf,Authにコメントした.
$ pip install django-cors-headers
INSTALLED APPS = [
# 'django.contrib.admin', # Admin 주석
# 'django.contrib.auth', # auth 주석
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'corsheaders' # corsheaders App 등록
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware', # csrf 주석
# 'django.contrib.auth.middleware.AuthenticationMiddleware', # auth 주석
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'corsheaders.middleware.CorsMiddleware', # corsheader MiddleWare 등록
]
settgins.CORSに関する設定をpyに追加しました.##CORS
CORS_ORIGIN_ALLOW_ALL=True
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
)
CORS_ALLOW_HEADERS = (
'accept',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
)
APPEND SLASHオプションを追加して、URLの/
関連エラーを削除します.APPEND_SLASH = False
.gitignore
manage.pyのような階層gitignoreファイルを生成し、Python、pycharm、VisualStudio Code、Vium、MacOS、Linux、zshなどの使用環境に対応するキーワードをhttps://www.toptal.com/developers/gitignoreから選択して入れます.
SECRET KEYとDATABASE情報を分離したPythonファイルもあります.gitignoreに追加します.
## my_settings.py
my_settings.py
requirements.txt
プロジェクト環境にインストールするプログラムはrequirementsです.txtに含まれるべきだが自動インストールのプログラムは特に明記する必要はない.
$ pip freeze > requirements.txt
前述したように、すべてのプログラムがファイルに含まれているため、不要なファイル名が削除されます.Django==3.2.4
django-cors-headers==3.7.0
PyMySQL==1.0.2
サーバーの実行
「サーバ動作」(Runserver)でエラーを検証します.
これまで基礎初期設定に問題がないか中間検査を行ってきた.
$ python manage.py runserver
Reference
この問題について(TIL 23. Wedibooks Project(主プロジェクト)初期設定), 我々は、より多くの情報をここで見つけました https://velog.io/@hanasmile/TIL-23.-Wedibooks-Project1차-프로젝트-초기-세팅テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol