■ はじめに
Python の Django (ジャンゴ) に関してちょこっと調べたのでメモ。 後、Hello world的なことをやってみる。
目次
【1】Django 【2】特徴 1)設計思想 2)MVT (Model-View-Template) 【3】設定手順 1)設定環境 2)インストール 【4】Hello world 1)プロジェクト作成 2)サーバ起動 3)主なフォルダ構成 4)ファイルの追加
【1】Django
* Pythonの Web フレームワーク
【2】特徴
* 大規模開発に向いている => 豊富な機能を持っているため(「1)設計思想」参照)
1)設計思想
* Pythonの設計思想「Battery included」を引き継いでいる
Battery included とは?
* Battery included = バッテリーが含まれている => 必要なものが全て含まれており、電源につなぐだけで それをすぐに使えるようになる
2)MVT (Model-View-Template)
* Django は、MVT (Model-View-Template)で実装されている => MVCの派生みたいなもの? + MVC の Controller に当たるのが、View + MVC の View に当たるのが、Template => 以下のサイトの図が分かりやすい
https://di-acc2.com/programming/python/546/
【3】設定手順
1)設定環境
* OS : Windows10 * Python : Python 3.7.4 * Django : v3.2.15
2)インストール
pip3 install django # pip で管理しているパッケージを一覧表示 pip freeze => 「Django==X.X.XX」を確認 # Django のバージョン確認 python -m django --version
【4】Hello world
1)プロジェクト作成
# django-admin startproject <ProjectName> django-admin startproject helloworld => 「helloworld」ってフォルダができる
使用上の注意
# プロジェクト名に「-」を使用しない $ django-admin startproject hello-world-project CommandError: 'hello-world-project' is not a valid project name. Please make sure the name is a valid identifier.
2)サーバ起動
python ./helloworld/manage.py runserver August 07, 2022 - 11:10:52 Django version 3.2.15, using settings 'helloworld.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK. => 「http://127.0.0.1:8000/」をブラウザ表示(終わりたい時は「Ctrl+C」)
3)主なフォルダ構成
helloworld + manage.py + helloworld + urls.py + wsgi.py + asgi.py + settings.py
manage.py
* Django に備わっている便利な機能を使う際に使われるファイル
helloworld/urls.py
* ブラウザから受け取った request を元に 次の views.pyファイルに対して、指示を出す
helloworld/wsgi.py
* wsgi (ウィスキー) = Web Server Gateway Interface => WebサーバとDjangoの間を取り持つ役割
helloworld/asgi.py
* asgi = Asynchronous Server Gateway Interface => リクエスト記録を取って、同時に多くの処理ができるようになる
helloworld/settings.py
* プロジェクト全体の設定を行う際に使われるファイル
4)ファイルの追加
* ファイルを追加してみる ~~~~~ helloworld + manage.py + helloworld + urls.py <= 修正 + views.py <= 追加 ~~~~~
helloworld/views.py
from django.http import HttpResponse def helloworldview(request): response_object = HttpResponse('Hello World!!?') return response_object
helloworld/urls.py
from django.contrib import admin from django.urls import path from .views import helloworldview # ADD urlpatterns = [ path('admin/', admin.site.urls), # ADD ',' path('helloworld/', helloworldview), # ADD ]
動作確認
* サーバを起動して、以下のURLをブラウザで表示する => 「Hello World!!?」が表示されるはず。
http://127.0.0.1:8000/helloworld/
関連記事
Django ~ 基本編 / Class-based View ~
https://dk521123.hatenablog.com/entry/2022/08/08/140619
Django ~ 基本編 / アプリ ~
https://dk521123.hatenablog.com/entry/2022/08/09/092941
Django ~ 基本編 / model ~
https://dk521123.hatenablog.com/entry/2022/08/17/231732
Python で 簡単なWebアプリ ~ formデータを受け取る ~
https://dk521123.hatenablog.com/entry/2018/09/10/164500
Flask ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2018/09/11/021900