【django】インストール方法と基本的な使い方

djangoのインストール方法

djangoをインストールするためには、まずpythonのインストールが必要です。pythonはプログラミング言語であり、djangoはpythonで書かれているため、pythonのインストールが先に必要です。

pythonの公式サイト(https://www.python.org)から最新の安定版をダウンロードし、インストールします。ダウンロードしたファイルを実行し、指示に従ってpythonをインストールしてください

pythonのインストールが完了したら、次にdjangoをインストールします。ターミナルまたはコマンドプロンプトを開き、以下のコマンドを入力します。

$ pip install django

これにより、djangoがインストールされます。インストールが完了したら、以下のコマンドを入力してバージョンを確認しましょう。

$ django-admin --version

以上でdjangoのインストールは完了です。

参考記事:

djangoプロジェクトの作成と構成

djangoのプロジェクトを作成するには、以下のコマンドを入力します。

$ django-admin startproject myproject

myprojectはプロジェクト名であり、任意の名前を指定できます。このコマンドを実行すると、myprojectという名前のフォルダが作成され、djangoのプロジェクトの骨格が自動的に生成されます。

プロジェクトの構造は以下のようになります。

myproject/
    manage.py
    myproject/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
  • manage.py: djangoに関連する様々な操作を実行するためのコマンドラインツールです。
  • myproject: プロジェクトの設定が含まれるパッケージです。
    • __init__.py: パッケージであることを示すための空のファイルです。
    • settings.py: プロジェクトの設定を管理するファイルです。
    • urls.py: urlのパターンとビューの対応を設定するファイルです。
    • asgi.py: asgi(asynchronous server gateway interface)を使用するためのファイルです。
    • wsgi.py: wsgi(web server gateway interface)を使用するためのファイルです。

参考記事:

djangoアプリケーションの作成と設定

djangoでは、複数のアプリケーションを1つのプロジェクト内で管理することができます。アプリケーションを作成するには、以下のコマンドを入力します。

$ python manage.py startapp myapp

myappはアプリケーション名であり、任意の名前を指定できます。このコマンドを実行すると、myappという名前のフォルダが作成され、基本的なアプリケーションの骨格が自動的に生成されます。

アプリケーションの構造は以下のようになります。

myapp/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py
  • __init__.py: パッケージであることを示すための空のファイルです。
  • admin.py: 管理サイトでのモデルの登録やカスタマイズを行うファイルです。
  • apps.py: アプリケーションの設定を管理するファイルです。
  • migrations/: データベースのマイグレーションファイルが格納されるディレクトリです。
    • __init__.py: パッケージであることを示すための空のファイルです。
  • models.py: データベースのモデルを定義するファイルです。
  • tests.py: テストコードを記述するためのファイルです。
  • views.py: ビュー(画面)の処理を記述するファイルです。

アプリケーションをプロジェクトに追加するには、プロジェクトのsettings.pyファイルのinstalled_appsリストに追加する必要があります。

参考記事:

ビュー、url、テンプレートの基本

djangoでは、ビュー(画面の表示やデータの処理を行うコード)、url(アクセスされたurlに対してどのビューを表示するかを設定)、テンプレート(htmlや表示データの構造を定義するファイル)を組み合わせることでwebアプリケーションを構築します。

ビューの作成

ビューはviews.pyファイルに作成し、関数またはクラスとして定義します。以下は、簡単なビューの例です。

from django.http import httpresponse

def hello(request):
    return httpresponse("hello, world!")

urlの設定

urlを設定するには、urls.pyファイルを編集します。以下は、先ほどのビューをurlに紐付ける例です。

from django.urls import path

from . import views

urlpatterns = [
    path('hello/', views.hello, name='hello'),
]
  • path()関数によって、urlパターンとビューの関連付けが行われます。
  • 'hello/'はurlパターンであり、http://example.com/hello/でアクセスされた場合にviews.helloビューが表示されるようになります。
  • name='hello'はビューに名前を付けるためのものであり、テンプレートなどで使用することができます。

テンプレートの作成

テンプレートは、htmlや表示データの構造を定義するファイルです。以下は、簡単なテンプレートの例です。

<!doctype html>
<html>
<head>
    <title>hello, django!</title>
</head>
<body>
    <h1>{{ message }}</h1>
</body>
</html>

{{ message }}はテンプレート内で変数を表示するためのものであり、ビューから渡されたデータを表示することができます。

参考記事:

データベースとモデルの基本

djangoでは、データベースとモデルを使用してデータの永続化を行います。モデルはデータベースのテーブルとして定義され、データの操作やクエリを行うためのインターフェースを提供します。

データベースの設定

デフォルトでは、djangoはsqliteという軽量なデータベースを使用します。他のデータベース(mysql、postgresql、oracleなど)を使用する場合は、settings.pyファイルのdatabases設定を変更します。

モデルの定義

モデルはmodels.pyファイルで定義されます。以下は、簡単なモデルの例です。

from django.db import models

class book(models.model):
    title = models.charfield(max_length=100)
    author = models.charfield(max_length=100)
    publication_date = models.datefield()
  • models.modelを継承することで、モデルを定義します。
  • charfieldは文字列フィールドを表し、max_lengthで最大文字数を指定します。
  • datefieldは日付フィールドを表します。

マイグレーション

モデルを変更した場合、データベースに対してマイグレーションを行う必要があります。マイグレーションは、モデルの変更内容をデータベースに反映するための手順です。

マイグレーションを作成するには、以下のコマンドを入力します。

$ python manage.py makemigrations

このコマンドによって、現在のモデルの状態と前回のマイグレーションの状態を比較し、必要な変更を検出します。

マイグレーションを適用するには、以下のコマンドを入力します。

$ python manage.py migrate

このコマンドによって、データベースにマイグレーションが適用され、モデルの変更が反映されます。

参考記事:

 

Django 関連のまとめ

Django 関連のまとめ
【django】pythonでwebアプリケーションを開発するためのフレームワーク   【django】インストール方法と基本的な使い方   【django】mvcパターンを理解する:model, view, controllerとは?  ...

 

オンラインスクールを講師として活用する!

【完全無料】使えるプログラミングスクール体験セミナー
【完全無料】使えるプログラミングスクール体験セミナー WEB制作の無料教材がここにきてどんどん増えてきてるので、使えるものをまとめようと思います。 TecAcademy(テックアカデミー) TechAcademyの無料体験 Samurai ...

 

0円でプログラミングを学ぶという選択

タイトルとURLをコピーしました