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日