1
/
5

【Python】Djangoを使ってWebアプリを開発

こんにちは、三橋です。

今回はPythonでwebアプリを作成する方法を紹介させていただきます。
Flask・DjangoがありますがDjangoについてご紹介します。
Djangoを使用しようと思った理由は、公式ドキュメントがかなり読みやすい、世界的に有名なアプリケーションのバックエンドに採用されているからです。

Djangoとは

DjangoはPythonを用いたオープンソースのWebアプリケーションフレームワークです。MTV(Model-Template-View)アーキテクチャパターンを元に構築され、高い開発性と可読性を実現しています。重要なサービスを支えるWebサイトの開発を効率化するために設計されたフレームワークであり、シンプルな内部デザインで大規模に変更が可能なコードを生成することができます。

Python環境でDjangoを使用できるようにする

pipコマンドでDjangoをインストールします。

pip3 install Django


プロジェクトの作成

下記コマンドでプロジェクトの作成を行います。

django-admin startproject mysite

以下のようにmysiteディレクトリが作成されていることを確認します。

続いて、日本語に変更するため、settings.py以下の部分を以下のように変更します。

【変更前】

LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'

【変更後】

LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'

以下のようにサーバーを起動します。

python manage.py runserver

ターミナルに出力されたURLを開き以下のように表示されたらされたら成功です。


アプリケーションの作成

下記コマンドでアプリケーションの作成を行います。

python manage.py startapp app

以下のようにappディレクトリが作成されていることを確認します。

アプリケーション名をsettings.pyのINSTALLED_APPSに記載します。
今回はappという名前のアプリを作成したので、以下のように記述します。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app',
]

Mysiteのurls.pyを開いて一部設定を変更します。

【変更前】

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

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

【変更後】

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

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

app/urls.pyを作成します。
app/urls.pyはデフォルトでは作成されていないので、自分で作成します。

from django.urls import path
from app import views

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

views.pyを修正します。
ここには、以下のように記述します。

from django.views.generic import TemplateView

class IndexView(TemplateView):
    template_name = 'app/index.html'

templatesフォルダにhtmlファイルを作成します。
下記のような構造になるように作成します。

app/templates/app/index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>app</title>
</head>
<body>
    <h1>Hello World!</h1>
</body>
</html>

下記コマンドを実行し、Hello worldが表示されたら成功です。

python manage.py runserver

今回はHelloWorldを出力するところまで実施出来たので、次は実際にアプリケーションを作成してみようかと思います。

株式会社クオリアシステムズでは一緒に働く仲間を募集しています
1 いいね!
1 いいね!

今週のランキング

三橋 遥香さんにいいねを伝えよう
三橋 遥香さんや会社があなたに興味を持つかも