【Django】000. Hello World (ロケット飛ばすまで)

## はじめに
この記事(Djangoについてナンバリングされたシリーズ)ではDjango初心者の投稿主が書籍やサイト等にて学習した内容をメモとしてまとめていく予定です。

記載する記事は前回の記事からの続きになることもあるかと思いますし、突発的に思いついた内容になることもあるかと思います。

~~Q：前回からの続きかもわからないのになぜナンバリングするの？
A：積み重ねている感があってテンションが上がるから！~~

頑張って週に1記事は投稿していきたいです。

## 参考書籍候補
以下のようなもの(たち)を読んでみようかな〜と思っております。

たくさんあげていますが、多く読めば良いという話でもないのでこの中から取捨選択することにはなると思います。

最初は1冊目にあげてある「Python Django 4 超入門」を読んでいく予定です。

### Python Django 4 超入門
![](https://m.media-amazon.com/images/I/516scaJNl1L._SX342_SY445_.jpg)
[amazon](https://www.amazon.co.jp/Python-Django-4-%E8%B6%85%E5%85%A5%E9%96%80-%E6%8E%8C%E7%94%B0%E6%B4%A5%E8%80%B6%E4%B9%83/dp/4798062413/ref=sr_1_10?dib=eyJ2IjoiMSJ9.FGTSHwLf3sGN5VgASOtjuC-4_0qr02YPj4x0p8-ra_C_PE63HMxallumUSxId1CfG75uknU2Bo0MlUFINTKgLIjdprToaofyQ8JcEl63KHw4-SWr02fMCseQmKaFkk9fySXWu5tRYBkIrGIxJsgEss1pMmDfr8A4rmL_Cg1dYDxxLhkZJIjNEIRNugE0RcINrZYJdJVdStm3o-OB_OLRmwUEmGGBeclup8q3ZRwAzlNvy6P6A_Wc-ipgnD56pb1VHODi7zNm8wEh2_2WZxgpilnGzdNgvFQwsC31cFGkQeo.RSYqzm8kH45oBR-AgZDyOs7gApA5PwuiNBdpKryLWe0&dib_tag=se&keywords=django&qid=1723193736&sr=8-10)

### 動かして学ぶ！Python Django開発入門 第3版
![](https://m.media-amazon.com/images/I/41iGc22Zu1L._SY445_SX342_.jpg)
[amazon](https://www.amazon.co.jp/%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E5%AD%A6%E3%81%B6%EF%BC%81Python-Django%E9%96%8B%E7%99%BA%E5%85%A5%E9%96%80-%E7%AC%AC3%E7%89%88-%E5%A4%A7%E9%AB%98-%E9%9A%86/dp/479818621X/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=&sr=)

### Djangoのツボとコツがゼッタイにわかる本[第2版]
![](https://m.media-amazon.com/images/I/51pR8iDijvL._SX342_SY445_.jpg)
[amazon](https://www.amazon.co.jp/Django%E3%81%AE%E3%83%84%E3%83%9C%E3%81%A8%E3%82%B3%E3%83%84%E3%81%8C%E3%82%BC%E3%83%83%E3%82%BF%E3%82%A4%E3%81%AB%E3%82%8F%E3%81%8B%E3%82%8B%E6%9C%AC-%E7%AC%AC2%E7%89%88-%E5%A4%A7%E6%A9%8B%E4%BA%AE%E5%A4%AA/dp/4798066052/ref=sr_1_11?dib=eyJ2IjoiMSJ9.FGTSHwLf3sGN5VgASOtjuC-4_0qr02YPj4x0p8-ra_C_PE63HMxallumUSxId1CfG75uknU2Bo0MlUFINTKgLIjdprToaofyQ8JcEl63KHw4-SWr02fMCseQmKaFkk9fySXWu5tRYBkIrGIxJsgEss1pMmDfr8A4rmL_Cg1dYDxxLhkZJIjNEIRNugE0RcINrZYJdJVdStm3o-OB_OLRmwUEmGGBeclup8q3ZRwAzlNvy6P6A_Wc-ipgnD56pb1VHODi7zNm8wEh2_2WZxgpilnGzdNgvFQwsC31cFGkQeo.RSYqzm8kH45oBR-AgZDyOs7gApA5PwuiNBdpKryLWe0&dib_tag=se&keywords=django&qid=1723193736&sr=8-11)

### 実践Django Pythonによる本格Webアプリケーション開発
![](https://m.media-amazon.com/images/I/71ZYSvoXgTS._SY385_.jpg)
[amazon](https://www.amazon.co.jp/%E5%AE%9F%E8%B7%B5Django-Python%E3%81%AB%E3%82%88%E3%82%8B%E6%9C%AC%E6%A0%BCWeb%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E9%96%8B%E7%99%BA-Programmer%E2%80%99s-SELECTION-%E8%8A%9D%E7%94%B0/dp/4798153958/ref=sr_1_7?dib=eyJ2IjoiMSJ9.FGTSHwLf3sGN5VgASOtjuC-4_0qr02YPj4x0p8-ra_C_PE63HMxallumUSxId1CfG75uknU2Bo0MlUFINTKgLIjdprToaofyQ8JcEl63KHw4-SWr02fMCseQmKaFkk9fySXWu5tRYBkIrGIxJsgEss1pMmDfr8A4rmL_Cg1dYDxxLhkZJIjNEIRNugE0RcINrZYJdJVdStm3o-OB_OLRmwUEmGGBeclup8q3ZRwAzlNvy6P6A_Wc-ipgnD56pb1VHODi7zNm8wEh2_2WZxgpilnGzdNgvFQwsC31cFGkQeo.RSYqzm8kH45oBR-AgZDyOs7gApA5PwuiNBdpKryLWe0&dib_tag=se&keywords=django&qid=1723193736&sr=8-7)

### プロフェッショナルWebプログラミング　Django
![](https://m.media-amazon.com/images/I/91Gnv+djvvL._SY385_.jpg)
[amazon](https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%83%95%E3%82%A7%E3%83%83%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%ABWeb%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-Django-%E7%94%B0%E4%B8%AD-%E6%BD%A4-ebook/dp/B08Z3PQ6J6/ref=sr_1_18?dib=eyJ2IjoiMSJ9.FGTSHwLf3sGN5VgASOtjuC-4_0qr02YPj4x0p8-ra_C_PE63HMxallumUSxId1CfG75uknU2Bo0MlUFINTKgLIjdprToaofyQ8JcEl63KHw4-SWr02fMCseQmKaFkk9fySXWu5tRYBkIrGIxJsgEss1pMmDfr8A4rmL_Cg1dYDxxLhkZJIjNEIRNugE0RcINrZYJdJVdStm3o-OB_OLRmwUEmGGBeclup8q3ZRwAzlNvy6P6A_Wc-ipgnD56pb1VHODi7zNm8wEh2_2WZxgpilnGzdNgvFQwsC31cFGkQeo.RSYqzm8kH45oBR-AgZDyOs7gApA5PwuiNBdpKryLWe0&dib_tag=se&keywords=django&qid=1723193736&sr=8-18)

### 現場で使える Django の教科書《基礎編》［4.2 LTS 対応版］
![](https://m.media-amazon.com/images/I/61G1nLZdBeL._SY425_.jpg)
[amazon](https://www.amazon.co.jp/%E7%8F%BE%E5%A0%B4%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B-Django-%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8%E3%80%8A%E5%9F%BA%E7%A4%8E%E7%B7%A8%E3%80%8B%EF%BC%BB4-2-LTS-%E5%AF%BE%E5%BF%9C%E7%89%88%EF%BC%BD/dp/B0CFZKZHCZ/ref=sr_1_6?dib=eyJ2IjoiMSJ9.FGTSHwLf3sGN5VgASOtjuC-4_0qr02YPj4x0p8-ra_C_PE63HMxallumUSxId1CfG75uknU2Bo0MlUFINTKgLIjdprToaofyQ8JcEl63KHw4-SWr02fMCseQmKaFkk9fySXWu5tRYBkIrGIxJsgEss1pMmDfr8A4rmL_Cg1dYDxxLhkZJIjNEIRNugE0RcINrZYJdJVdStm3o-OB_OLRmwUEmGGBeclup8q3ZRwAzlNvy6P6A_Wc-ipgnD56pb1VHODi7zNm8wEh2_2WZxgpilnGzdNgvFQwsC31cFGkQeo.RSYqzm8kH45oBR-AgZDyOs7gApA5PwuiNBdpKryLWe0&dib_tag=se&keywords=django&qid=1723193736&sr=8-6)

### 現場で使える Django の教科書《実践編》
![](https://m.media-amazon.com/images/I/61M0AYwCLrL._SY425_.jpg)
[amazon](https://www.amazon.co.jp/%E7%8F%BE%E5%A0%B4%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B-Django-%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8%E3%80%8A%E5%AE%9F%E8%B7%B5%E7%B7%A8%E3%80%8B-%E6%A8%AA%E7%80%AC-%E6%98%8E%E4%BB%81/dp/B09KN7Z13L/ref=sr_1_8?dib=eyJ2IjoiMSJ9.FGTSHwLf3sGN5VgASOtjuC-4_0qr02YPj4x0p8-ra_C_PE63HMxallumUSxId1CfG75uknU2Bo0MlUFINTKgLIjdprToaofyQ8JcEl63KHw4-SWr02fMCseQmKaFkk9fySXWu5tRYBkIrGIxJsgEss1pMmDfr8A4rmL_Cg1dYDxxLhkZJIjNEIRNugE0RcINrZYJdJVdStm3o-OB_OLRmwUEmGGBeclup8q3ZRwAzlNvy6P6A_Wc-ipgnD56pb1VHODi7zNm8wEh2_2WZxgpilnGzdNgvFQwsC31cFGkQeo.RSYqzm8kH45oBR-AgZDyOs7gApA5PwuiNBdpKryLWe0&dib_tag=se&keywords=django&qid=1723193736&sr=8-8)

### 現場で使える Django REST Framework の教科書［3.2 LTS 対応版］ （Django の教科書シリーズ）
![](https://m.media-amazon.com/images/I/71W-G805e0L._SY466_.jpg)
[amazon](https://www.amazon.co.jp/%E7%8F%BE%E5%A0%B4%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B-Django-Framework-%EF%BC%88Django-%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%EF%BC%89-ebook/dp/B07XWL8FPM/ref=sr_1_13?dib=eyJ2IjoiMSJ9.FGTSHwLf3sGN5VgASOtjuC-4_0qr02YPj4x0p8-ra_C_PE63HMxallumUSxId1CfG75uknU2Bo0MlUFINTKgLIjdprToaofyQ8JcEl63KHw4-SWr02fMCseQmKaFkk9fySXWu5tRYBkIrGIxJsgEss1pMmDfr8A4rmL_Cg1dYDxxLhkZJIjNEIRNugE0RcINrZYJdJVdStm3o-OB_OLRmwUEmGGBeclup8q3ZRwAzlNvy6P6A_Wc-ipgnD56pb1VHODi7zNm8wEh2_2WZxgpilnGzdNgvFQwsC31cFGkQeo.RSYqzm8kH45oBR-AgZDyOs7gApA5PwuiNBdpKryLWe0&dib_tag=se&keywords=django&qid=1723193736&sr=8-13)

### Django 5 By Example - Fifth Edition: Build powerful and reliable Python web applications from scratch
![](https://m.media-amazon.com/images/I/818tQK0PVdL._SY385_.jpg)
[amazon](https://www.amazon.co.jp/Django-Example-powerful-reliable-applications/dp/1805125451/ref=tmm_pap_swatch_0?_encoding=UTF8&dib_tag=se&dib=eyJ2IjoiMSJ9.FGTSHwLf3sGN5VgASOtjuC-4_0qr02YPj4x0p8-ra_C_PE63HMxallumUSxId1CfG75uknU2Bo0MlUFINTKgLIjdprToaofyQ8JcEl63KHw4-SWr02fMCseQmKaFkk9fySXWu5tRYBkIrGIxJsgEss1pMmDfr8A4rmL_Cg1dYDxxLhkZJIjNEIRNugE0RcINrZYJdJVdStm3o-OB_OLRmwUEmGGBeclup8q3ZRwAzlNvy6P6A_Wc-ipgnD56pb1VHODi7zNm8wEh2_2WZxgpilnGzdNgvFQwsC31cFGkQeo.RSYqzm8kH45oBR-AgZDyOs7gApA5PwuiNBdpKryLWe0&qid=1723193736&sr=8-22)



## Djangoとは？

https://docs.djangoproject.com/ja/5.0/

PythonのWebアプリケーションフレームワーク。

MTVフレームワークである。(MVCと大体同じようなもの…と言ったら怒られそうですがそう思っています。)
* Model
* Templete
* View

いわゆるフルスタックフレームワークでDjangoさえあればツヨツヨで機能モリモリなWebアプリケーションが作成できる！

## Install
```sh
pip install Django
```

## プロジェクトの作成
```sh
django-admin startproject プロジェクト名
```
※プロジェクト名に```- (ハイフン)```は使えないみたいでした。

## プロジェクトの中身
プロジェクト作成後は以下のような構成です。
※プロジェクト名はdjango_appとした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594896/f47e0778-de65-1cc3-e042-15beb9a41b98.png)

* django_appフォルダ
    * プロジェクト全体で使うファイルがある (詳細略)
* manage.py
    * プロジェクトで実行する様々な機能に関するプログラム

## Webアプリケーションの実行

### プロジェクト内に移動
```sh
cd django_app
```

### サーバーを起動する
```sh
python manage.py runserver
```
実行すると以下のように出力される。
```text
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 18 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.
July 21, 2024 - 19:22:56
Django version 5.0.7, using settings 'django_app.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
```

今回はデータベースを使用するための作業 (migration) を行っていないため、以下の警告を含んでいますがひとまず問題はないです。
```text
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
```

## ブラウザでアクセスする
サーバー起動時のログに```http://127.0.0.1:8000/```とあります。
ブラウザでこのアドレスを指定することでアクセスできます。
※今回は```http://localhost:8000/```でもアクセス可能。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594896/6fe81f8b-0c32-dd5c-491f-ef414a178829.png)

無事にロケットが飛びました。
これからゆっくり学んでいきたいと思います。

サーバーの停止はターミナルで「Ctrl+C」でOK。