ほしみの日記

情報系専門学校生のブログです

MENU

Djangoの環境構築からプロジェクト作成まで

はじめに

Linux(Ubuntu),WindowsでのDjangoの環境構築からプロジェクト作成までをまとめました。 Djangoを勉強し始めたのはつい先日で、使ったコマンドからアウトプットとして記録していきたいなぁと思います。 また、今回の記事は以下の参考サイトに書かれていることを簡易的にまとめたものですので、詳しく知りたい方はそちらの方をご覧ください。この記事は、以前自分がQiitaで投稿したものです。

参考

仮想環境(virtual environment)の作成

ディレクトリの作成

$ mkdir (作成するディレクトリの名前)
$ cd (作成したディレクトリの名前)

仮想環境の作成

$ python -m venv myvenv

myvenvは仮想環境の名前は以下の条件を守ればどんな名前でも作成可能 * 必ず小文字で表記する * スペースは入れないこと ここで作成した名前は今後多く使うことになるからわかりやすいものにしといたほうがいいかも?

仮想環境を起動

$ source myvenv/bin/activate

sourceでできない場合もあるからその時は以下のコマンドを実行

$ . myvenv/bin/activate

行頭に(myvenv)がついたら成功!

Djangoのインストール

Djangoのインストールに使うソフトウェアpipの確認

(myvenv) ~$ python -m pip install --upgrade pip

パッケージのインストール

requirementsファイルでパッケージをインストールする。 requirementsはpip installでインストールする依存関係の一覧が記載されているファイル requirements.txtを(作成したディレクトリ)の中に作成する requirements.txt中に以下のテキストを記述

Django~=2.2.4

Djangoのインストール

以下のコマンドを実行してDjangoをインストールする

(myvenv) ~$ pip install -r requirements.txt

これでDjangoの環境構築が完了!

Djangoのプロジェクト作成

下記のコマンドでプロジェクトが作成可能

$ django-admin startproject <プロジェクト名> <作成するディレクトリ>

(プロジェクト名)には()を外した状態で好きなものを入れる 一般的に、(作成したディレクトリ)の名前をいれるらしい 作成するディレクトリは省略可能で.にすることでカレントディレクトリの直下に展開できる。

現在のファイル構造

(作成したディレクトリ)
├── myvenv
├── (プロジェクト名)
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── requirements.txt
└── manage.py

ここまでできてたらもう少し...

各ファイルの説明

(プロジェクト名)の中に入っているファイルの説明をします。 4つのファイルが作成されているはず... __init__.py Pythonディレクトリを認識させる為のファイル

settings.py Djangoのプロジェクトに関わる設定を記述したもの

urls.py URLの設定が記述されたもの

wsgi.py サーバーに関する設定が記述されたもの

そのほかにも manage.py サイトの管理に役立つものでこのファイルを利用することで他のものをインストールすることなく、Webサーバーを起動することができる

開発用サーバーの起動

以下のコマンドで開発用サーバーを起動できる

(myvenv)~/<作成したディレクトリ名>$ python manage.py runserver
You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

上記のようなエラーが出ると思いますが一旦無視して大丈夫です。

ブラウザでhttps://127.0.0.1:8000/ にアクセスする ロケットが飛んでいる画面が出たら無事にプロジェクトが作成できてます!

さいごに

自分は最近勉強を始めたばかりの初心者なので間違えている所があったらご指摘していただけたらこちらも勉強になるのでありがたいです。 また、はじめの方にも書きましたが参考にしたサイトの内容を簡易的にまとめた記事なので これからDjangoを勉強しようとしている方やより詳しいことを知りたい方は参考サイトをご覧ください。 また、アウトプットとしていろいろ書いていきたいなと思います。 今回はご覧いただきありがとうございました。