0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Django プロジェクトの始め方覚え書き(ローカルで Django の Welcome 画面が見れるまで)

Last updated at Posted at 2021-06-10

Django プロジェクトを何度か立ち上げたので、自分用に立ち上げ方の作業を残しておきます。

環境はローカルが Windows10、本番が Ubuntu + Apache です。プロジェクト名をmypro、アプリ名をmyappとします。

今回はローカルで Django の Welcome 画面が見れるまでを記載します。

#仮想環境の立ち上げ(venv)
Python の仮想環境で有名なところですと、venvvirtualenvがあります。

venvは Python3.3 以降では標準パッケージになっており、非常に使いやすいです。
venvvirtualenvの最も大きな違いと私が認識しているのは、

  • venvは Python のパッケージ内のため Python 自体のバージョン管理ができない
  • virtualenvはサードパーティのため Python 自体のバージョン管理ができる

というところかなと。

現状、私は基本的には Python3.x で全て作っているので、簡単に使えるvenvを使用することにします。

$ mkdir mypro
$ cd myapp
$ mkdir myvenv
$ py -m venv myvenv
$ myvenv\Scripts\activate

1行目でプロジェクトのディレクトリ作成、2行目でプロジェクトのディレクトリに移動、3行目でvenvで作成する仮想環境のディレクトリを作成、4行目で仮想環境を作成、5行目で仮想環境立ち上げです。

#Django のインストール
次にDjango のインストールをします。ディレクトリは ~/myproです。

$ pip install --upgrade setuptools
$ pip install --upgrade pip
$ pip install django
$ django-admin startproject mypro .

1, 2行目でsetuptoolspipを最新版に更新し、2行目でdjangoのインストール、3行目で Django プロジェクトを立ち上げています。

現状はこのようなディレクトリ構成になっているはずです。

mypro/
│  manage.py
├─mypro/
│      asgi.py
│      settings.py
│      urls.py
│      wsgi.py
│      __init__.py
└─myvenv/

#settings.py の設定

mypro/settings.pyを修正します。

日本の環境に合わせる

言語と時間を日本に合わせます

settings.py
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'

本番用に環境変数を導入をする

ローカルと本番用で環境をわけるために、環境変数を導入します。

秘密キーなど、知られてはならないものもこちらに書きます。最終的にサーバー側でも作成する必要があるものです。

###django-environ をインストール

$ pip install django-environ

###settings.py を修正

settings.py
from pathlib import Path
import os
import environ

BASE_DIR = Path(__file__).resolve().parent.parent
env = environ.Env()
env.read_env(os.path.join(BASE_DIR, '.env'))
SECRET_KEY = env('SECRET_KEY', str)
DEBUG = env.get_value('DEBUG', bool)
if DEBUG:
    ALLOWED_HOSTS = []
else:
    ALLOWED_HOSTS = ['*']

###.env を作成
manage.pyと同じディレクトリに.envファイルを作成し、settings.py内のSECRET_KEYを移す。

.env
DEBUG=True
SECRET_KEY=xxxxxxxxxx

空白があったり'などがあるとエラーになるので注意。

この.envをGitHubなどにアップしてしまうと大変なことになります。私は問い合わせのためのメールアドレスのパスワードをあげてしまって、数分後に気づいてすぐ削除しましたがとてつもない量のスパムメールを送信し始めてしまって、慌ててパスワードを変更した覚えがあります。

本番環境ではDEBUG=Falseとします。

#runserver でエラーがないことを確認
ここまでで、ローカル環境で django のウェルカム画面が出ることを確認します。

$ py manage.py runserver

エラーがないと、下記のメッセージが出ます。

Starting development server at http://127.0.0.1:8000/

http://127.0.0.1:8000/にアクセスし、下記の画面が出てこれば成功です。
django_welcome.png

次回はこちらをサーバーに移して動かすところを書きますね!

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?