CentOS8でDjango開発環境の構築part1

DjangoのWEBサイトを構築するまでです。EC2だとコスト高いのでコノハVPSを使いました。root権限のみで行い、linuxユーザーやsshまわりの基本的なセキュリティ設定はぶっ飛ばしています。あらかじめご了承ください。Djangoの基本的な構造は以下の図の通りです。Model-View-TemplateとしてMVTとなります。

Django MVT Architecture

CentOS8を起動したら、ssh接続を行い、念のためにディストリビューションを確認します。

cat /etc/redhat-release

すると

CentOS Linux release 8.0.1905 (Core)

と帰ってきました。無事にCentOS8の確認完了です。

CentOS8を更新します。yum updateではなく以下を使ってみます。

dnf update

python3に入る

CentOS8には標準でpython3.6が入っています。そのため、以下コマンドでpythonに入ります。

python3

pythonの抜け方

exit()

もしくは Ctrl + D です。

exitとか:wqとかではないです。

python3バージョン確認

python3 --version

python3 -V

です。

pipバージョン確認

pip3 --version

pip3 -V

Djangoインストール

Django開発用のディレクトリを作ります。

mkdir /home/www

移動

cd ../../../home/www

Djangoをイントール

pip3 install django

Djangoプロジェクトの作成

Djangoでは、一つのアプリケーションをプロジェクトと呼び、一つのプロジェクトの配下にいくつかのアプリが動いている、という構造

Djangoを最速でマスターする part1

django-admin startproject プロジェクト名 . にてDjangoプロジェクトを作ります。プロジェクト名をcentos8django_prjにしました。

django-admin startproject centos8django_prj .

上記を実行したあと、以下の様にプロジェクトディレクトリとmanage.pyが出来ます。

[root@〇△✕-〇△✕-〇△✕-〇△✕ www]# ls -al
total 16
drwxr-xr-x  3 root root 4096 Oct 21 18:38 .
drwxr-xr-x. 3 root root 4096 Oct 21 18:12 ..
drwxr-xr-x  3 root root 4096 Oct 21 18:35 centos8django_prj
-rwxr-xr-x  1 root root  637 Oct 21 18:23 manage.py

プロジェクトにpython3でアプリケーションを作成

python3 manage.py startapp アプリ名 にてプロジェクト配下のアプリケーションを作ります。 アプリ名はcentos8django_appにしました。

python3 manage.py startapp centos8django_app

プロジェクトに対してアプリケーションを作ったことを認識させます。

cd centos8django_prj

settings.pyファイル内のアプリケーション定義を書き換えます。

vi settings.py
# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'centos8django_app', #新規アプリを追加
]

言語コードを日本語に、タイムゾーンをアジア/東京に変えます。

# Internationalization
# https://docs.djangoproject.com/en/2.2/topics/i18n/

LANGUAGE_CODE = 'ja' #変えた

TIME_ZONE = 'Asia/Tokyo' #変えた

USE_I18N = True

USE_L10N = True

USE_TZ = True

githubやCI/CD環境無しですが、以上で最低限のDjango環境がCentOS8にて出来ました。次回は、models.pyなどを実際に作っていきます。

WordPress/kusanagi/Azure/AWS/kintoneの開発運用相談