Djangoとは
PythonのWebアプリケーションフレームワークの一つです。
他に有名なフレームワークとしてFlaskがあります。
Djangoは(Flaskも)、http.serverのように検証用途の簡易なものではなく、サービスとして利用実績も豊富なフレームワークです。
http.serverやFlaskの使い方については以前記事を書きましたので、気になる方は下記のリンクからご参照ください。
http.server(旧SimpleHTTPServer)の使い方
Flaskに比べると、Djangoは大規模な開発に向いています。
DjangoはInstagramやUdemyなどのサービスで使われています。
Flaskと迷ったら
あなたがどちらでWebアプリケーションを作ればいいのか迷うなら(違いがあまりわかっていないのなら)、Flaskを選択すれば良いでしょう。おそらく、Flaskで十分です。
コードを動かしてみよう
インストール
Djangoは標準ライブラリではありません。
pipを使っている場合は、以下のようにしてインストールしてください。
1 | pip install django |
手順
プロジェクトの作成
下記のコマンドを実行します。
1
2
3mkdir hello
cd hellp
django-admin startproject hello_pj .hello以下にmanage.pyというファイルが生成されていればOKです。アプリケーションの作成
下記のコマンドを実行します。
1
python manage.py startapp hello_app
hello_pj/settings.pyにあるINSTALLED_APPSに、hello_appを追加します。引き続き
hello_pj/settings.pyを編集します。リストDIRSにBASE_DIR, 'templates'を追加します。1
'DIRS': [BASE_DIR, 'templates']
hello worldの準備
hello_pj/urls.pyにあるリストurlpatternsにpath('', include('hello_app.urls'))を追加します。1
2
3
4urlpatterns = [
path('admin/', admin.site.urls),
path('', include('hello_app.urls'))
]hello_app/urls.pyを新規作成し、下記のコードを貼り付けます。1
2
3
4
5
6from django.urls import path
from . import views
urlpatterns = [
path('hello/', views.helloworldfunction),
]hello_app/views.pyを編集し、下記のように編集します。1
2
3
4from django.shortcuts import render
def helloworldfunction(request):
return render(request, 'index.html')ディレクトリ
templatesを作成し、templates/index.htmlを新規作成し、下記のコードを貼り付けます。1
2
3
4
5
6
7
8
9
10
<html lang="ja">
<head>
<meta charset="utf-8">
<title>hello</title>
</head>
<body>
<h1>hello</h1>
</body>
</html>サーバの立ち上げ
下記のコマンドを実行します。
1
2python manage.py migrate
python manage.py runserverモデルをデータベースに反映した後、ローカルホストにサーバを立ち上げています。
http://localhost:8000/helloにアクセスし、helloと表示されれば成功です!
まとめ
http.serverやFlaskに比べると、若干複雑でしたね。
その分、Djangoは使いこなす事ができれば大規模なアプリケーションの構築ができます。
記事情報
- 投稿日:2020年3月11日
- 最終更新日:2020年3月22日