見出し画像

猫と学ぶDjangoチュートリアル [Part1]

1. はじめに🐈

本記事では猫がDjango公式チュートリアルを学んでいく過程を投稿しています。訂正や、改善等あればコメント欄でご指摘いただければ幸いです。

2. Djangoとは

DjangoはPython用のWebアプリフレームワークです。他にPython用のフレームワークにFlaskやBottleなどがあります。それらと比較するとWebアプリ作成に必要な機能(メール送信やログインなど)が多く備わっている為、ゼロからそれらを作る必要がなく、素早く、達成したい目的のWebアプリケーションが作成できます。

3.準備

使用している環境は以下の通りです。
OS: Mac OS Mojave ver 10.14.6

3.1 Pythonの環境構築🐍

各OSに従って、以下の記事を参考にPythonをインストールしてください。
[MacOS]
https://qiita.com/7110/items/1aa5968022373e99ae28
[Windows]
https://prog-8.com/docs/python-env-wins

インストールを終えたら、プロジェクトディレクトリを作成して移動します。ターミナルまたはコマンドプロンプトを起動して以下のコマンドを実行

$ mkdir django-tutorial
$ cd django-tutorial

次に仮想環境を作成します。MacOSの方で既にバージョン2系のpythonがインストールされている方はpythonをpython3に読み替えて実行してください。

$ python -m venv .venv
$ python -m venv 仮想環境の名前

次に、以下のコマンドで仮想環境を有効にします。

[Windows]
.venv¥Scripts¥activate

[MacOS]
source .venv/bin/activate

起動するとターミナル先頭部に仮想環境名が表示されます。

(.venv) CatMacBook-Pro:django_tutorial neko$

仮想環境の無効化はどちらのOSも共通で以下を実行します。

$ deactivate

3.2 Djangoの環境構築🎸

仮想環境を有効にした状態で、Djangoをインストールします。

$ pip install django==2.2

Djangoプロジェクト全体の設定を担うディレクトリを作成します。configの部分は任意の値で構いません。

$ django-admin startproject config .

この時点でのファイル構成が以下になります。

django-tutorial
├── config
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── db.sqlite3
├── manage.py

このプロジェクトにアプリケーションを追記していきます。

python manage.py startapp polls

チュートリアルのPart1で作成する最終的なファイル構成が以下になります。

django-tutorial
├── config
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── db.sqlite3
├── manage.py
└── polls
   ├── __init__.py
   ├── admin.py
   ├── apps.py
   ├── migrations
   │   └── __init__.py
   ├── models.py
   ├── tests.py
   ├── urls.py
   └── views.py

4. 画面にHello, Nyan!を表示

[目標] localhost:8000/pollsにアクセスして、Hello,Nyan!の文字を表示

まず初めにDjangoの開発用サーバーを起動します。

python manage.py runserver

デフォルトではポート番号が8000番で起動されるので、ブラウザのアドレスバーにlocalhost:8000または127.0.0.1:8000と入力すると以下の画面が確認できます🚀

画像1

4.1 URLConfの設定

URLを設定します。pollsディレクトリ直下にurls.pyを新規作成します。
polls/urls.py

from django.urls import path
from . import views

urlpatterns = [
   path('', views.index, name='index')
]

path関数の第一引数にはパスを、第二引数にはどのデータを見せるか示すビュー関数を、第三引数には後ほど名前から逆引きする為の名前を指定しています。

次にプロジェクト全体のurls.pyにアプリケーション側で設定したURLを追記します。

config/urls.py

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
   path('polls/', include('polls.urls')),
   path('admin/', admin.site.urls),
]

4.2 ビュー関数の記述

URLの設定が終えたので、次にその指定されたURLにブラウザからリクエストがあった際にどのデータをレスポンスとして返すか決めるビュー関数を作成します。

polls/views.py

from django.http import HttpResponse

def index(request):
   return HttpResponse('Hello, Nyan!')

それでは、開発サーバーを起動した状態でlocalhost:8000/pollsにアクセスします。すると、以下の画面が確認できました。🎉

スクリーンショット 2020-05-28 21.50.25

5. まとめ

コマンド系

Djangoプロジェクトの作成

django-admin startproject 任意の名前 .

Djangoアプリケーションの作成

python manage.py startapp アプリケーション名

開発サーバーの起動

python manage.py runserver

URL設定から画面表示までの流れ

1. アプリケーション配下にurls.pyを新規作成
2. 1のurls.pyにURLを設定

[アプリケーション名/urls.py]

from django.urls import path
from . import views

urlpatterns = [
   path('プロジェクト全体/urls.pyで指定されるパス以降のURL', views.ビュー関数, name='逆引きする際の名前')
]

3. プロジェクト全体のurls.pyに2で設定した情報を登録

[プロジェクト全体/urls.py]

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
   path('パス/', include('アプリケーション名.urls')),
   path('admin/', admin.site.urls),
]

4. アプリケーション配下のviews.pyにビュー関数を記述

[アプリケーション名/views.py]

from django.http import HttpResponse

def ビュー関数(request):
   return HttpResponse('表示する内容')

6. ソースコード

https://github.com/hungair0925/django_tutorial

この記事が気に入ったらサポートをしてみませんか?