Djangoの使い方

Djangoとは

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

他に有名なフレームワークとしてFlaskがあります。

Djangoは(Flaskも)、http.serverのように検証用途の簡易なものではなく、サービスとして利用実績も豊富なフレームワークです。

http.serverFlaskの使い方については以前記事を書きましたので、気になる方は下記のリンクからご参照ください。

http.server(旧SimpleHTTPServer)の使い方

Flaskの使い方

Flaskに比べると、Djangoは大規模な開発に向いています。

DjangoはInstagramやUdemyなどのサービスで使われています。

Flaskと迷ったら

あなたがどちらでWebアプリケーションを作ればいいのか迷うなら(違いがあまりわかっていないのなら)、Flaskを選択すれば良いでしょう。おそらく、Flaskで十分です。

コードを動かしてみよう

インストール

Djangoは標準ライブラリではありません。

pipを使っている場合は、以下のようにしてインストールしてください。

1
pip install django

手順

プロジェクトの作成

  1. 下記のコマンドを実行します。

    1
    2
    3
    mkdir hello
    cd hellp
    django-admin startproject hello_pj .

    hello以下にmanage.pyというファイルが生成されていればOKです。

    アプリケーションの作成

  2. 下記のコマンドを実行します。

    1
    python manage.py startapp hello_app
  3. hello_pj/settings.pyにあるINSTALLED_APPSに、hello_appを追加します。

  4. 引き続きhello_pj/settings.pyを編集します。リストDIRSBASE_DIR, 'templates'を追加します。

    1
    'DIRS': [BASE_DIR, 'templates']

    hello worldの準備

  5. hello_pj/urls.pyにあるリストurlpatternspath('', include('hello_app.urls'))を追加します。

    1
    2
    3
    4
    urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('hello_app.urls'))
    ]
  6. hello_app/urls.pyを新規作成し、下記のコードを貼り付けます。

    1
    2
    3
    4
    5
    6
    from django.urls import path
    from . import views

    urlpatterns = [
    path('hello/', views.helloworldfunction),
    ]
  7. hello_app/views.pyを編集し、下記のように編集します。

    1
    2
    3
    4
    from django.shortcuts import render

    def helloworldfunction(request):
    return render(request, 'index.html')
  8. ディレクトリtemplatesを作成し、templates/index.htmlを新規作成し、下記のコードを貼り付けます。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <!DOCTYPE html>
    <html lang="ja">
    <head>
    <meta charset="utf-8">
    <title>hello</title>
    </head>
    <body>
    <h1>hello</h1>
    </body>
    </html>

    サーバの立ち上げ

  9. 下記のコマンドを実行します。

    1
    2
    python manage.py migrate
    python manage.py runserver

    モデルをデータベースに反映した後、ローカルホストにサーバを立ち上げています。

  10. http://localhost:8000/helloにアクセスし、helloと表示されれば成功です!

まとめ

http.serverFlaskに比べると、若干複雑でしたね。

その分、Djangoは使いこなす事ができれば大規模なアプリケーションの構築ができます。

記事情報

  • 投稿日:2020年3月11日
  • 最終更新日:2020年3月22日