見出し画像

Django基礎#1 Djangoの概要と環境構築

Djangoとは何か、ウェブフレームワークの基本

Djangoは、Pythonで実装された人気のウェブアプリケーションフレームワークです。2003年から2005年にかけて開発され、2005年7月にオープンソース化されました。

Djangoの主な特徴は以下の通りです:

  1. フルスタックフレームワーク:
    Djangoは、ウェブアプリケーション開発に必要な機能を幅広く提供しています。ユーザー認証、管理画面、データベース操作、フォーム処理など、多くの機能が標準で搭載されています。

  2. MTVアーキテクチャ:
    Model-Template-Viewパターンを採用しており、コードの構造化と保守性の向上に役立ちます。

  3. ORM(Object-Relational Mapping):
    データベース操作をPythonのオブジェクトとして扱えるため、SQLを直接書く必要がありません。

  4. セキュリティ:
    SQLインジェクションやクロスサイトスクリプティングなど、一般的なセキュリティ脅威に対する保護機能が組み込まれています。

  5. スケーラビリティ:
    大規模なトラフィックにも対応できる設計になっています。

Djangoを使用した有名なウェブサイトには、Instagram、Spotify、YouTubeなどがあります。

ウェブフレームワークの基本的な役割は、ウェブアプリケーション開発を効率化することです。一般的に以下の機能を提供します:

  1. URLルーティング:
    クライアントからのリクエストを適切なハンドラーに振り分けます。

  2. テンプレートエンジン:
    動的なHTMLの生成を支援します。

  3. データベース操作:
    ORMを通じてデータベースとの連携を簡素化します。

  4. セッション管理:
    ユーザーの状態を維持するためのメカニズムを提供します。

  5. セキュリティ機能:
    一般的なウェブ攻撃からアプリケーションを保護します。

ウェブフレームワークを使用することで、開発者は低レベルの実装詳細に悩まされることなく、アプリケーションのビジネスロジックに集中できます。これにより、開発速度の向上と、より安全で保守性の高いコードの作成が可能になります。

PythonとDjangoのインストール

Pythonのインストール手順(Windows OS)

  1. Python公式サイトにアクセス

    • 公式サイト: Python Downloads

    • ページを開くと、最新バージョンのPythonが自動的に表示されます。

  2. インストーラのダウンロード

    • 「Download Python [最新バージョン]」ボタンをクリックしてインストーラ(`python-3.x.x.exe`)をダウンロードします。

  3. インストーラの実行

    • ダウンロードしたインストーラをダブルクリックして実行します。

  4. インストールオプションの設定

    • インストーラが起動すると、「Python [バージョン] Setup」のウィンドウが表示されます。

    • 必ず「Add Python to PATH」にチェックを入れてください。これを行うことで、コマンドラインからPythonを使用できるようになります。

    • 次に、「Customize installation」を選択することで、インストール場所や追加オプションの設定が可能ですが、基本的には「Install Now」をクリックするだけで問題ありません。

  5. インストールの開始

    • 「Install Now」をクリックするとインストールが始まります。

    • 必要に応じて、ユーザーアカウント制御のウィンドウが表示される場合がありますので、「はい」を選択してください。

  6. インストールの完了

    • インストールが完了すると「Setup was successful」のメッセージが表示されます。「Close」をクリックしてインストールを終了します。

  7. インストールの確認

    • 正しくインストールされたか確認するために、コマンドプロンプトを開きます。

      • 「スタートメニュー」 → 「cmd」 と入力して「コマンドプロンプト」を選択します。

python --version
  • 正しくインストールされていれば、インストールしたPythonのバージョンが表示されます(例: `Python 3.10.6`)。

Pythonのインストール手順(MacOS)

  1. Python公式サイトにアクセス

    • 公式サイト: Python Downloads

    • ページを開くと、最新バージョンのPythonが表示されます。

  2. インストーラのダウンロード

    • 「Download Python [最新バージョン]」ボタンをクリックしてインストーラ(`python-3.x.x-macosx10.x.pkg`)をダウンロードします。

  3. インストーラの実行

    • ダウンロードしたインストーラ(`.pkg`ファイル)をダブルクリックして実行します。

  4. インストールの手順

    • インストーラのウィザードが表示されるので、「続ける」をクリックして進めます。

    • ライセンス情報を確認し、「同意する」をクリックします。

    • インストール先を選択(通常はデフォルトのままで問題ありません)し、「インストール」をクリックします。

    • Macのパスワードを求められる場合があるので、管理者パスワードを入力し「インストールソフトウェア」をクリックします。

  5. インストールの完了

    • インストールが完了すると「インストールが完了しました」というメッセージが表示されます。「閉じる」をクリックしてインストーラを終了します。

  6. インストールの確認

    • 正しくインストールされたか確認するために、ターミナルを開きます。

      • 「Finder」 → 「アプリケーション」 → 「ユーティリティ」 → 「ターミナル」を開きます。

      • ターミナルで以下のコマンドを入力し、Returnを押します。

python3 --version

正しくインストールされていれば、インストールしたPythonのバージョンが表示されます(例: `Python 3.10.6`)。

  1. Homebrewのインストール方法(オプション)

  2. MacOSでよく使用されるパッケージ管理ツール「Homebrew」を使用してPythonをインストールすることもできます。Homebrewを使用している場合は、以下のコマンドでPythonをインストールできます。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install python

これでMacOSへのPythonインストールは完了です。

プロジェクトの作成と基本構造の理解

Djangoプロジェクトの作成と基本構造の理解は、効率的なWeb開発の基礎となります。

プロジェクトの作成:
Djangoプロジェクトは以下のコマンドで作成します。

django-admin startproject myproject

このコマンドにより、以下のような構造のプロジェクトが作成されます:

myproject/
    manage.py
    myproject/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

基本構造の理解:

  1. manage.py:
    プロジェクト管理用のコマンドラインユーティリティです。
    例: `python manage.py runserver` でサーバーを起動します。

  2. myproject/ (内側):
    プロジェクトのメインパッケージです。

  3. asgi.pywsgi.py:
    ASGIとWSGI互換のWebサーバーとの連携に使用されます。

アプリケーションの作成:
プロジェクト内に複数のアプリケーションを作成できます。

python manage.py startapp myapp

これにより、以下のような構造のアプリケーションが作成されます:

myapp/
    __init__.py
    admin.py
    apps.py
    models.py
    tests.py
    views.py
    migrations/
        __init__.py

主要なファイルの役割:

models.py:
データベースのスキーマを定義します。

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()

views.py:
ビュー関数を定義します。HTTPリクエストを受け取り、HTTPレスポンスを返します。

from django.shortcuts import render
from .models import Article

def article_list(request):
    articles = Article.objects.all()
    return render(request, 'article_list.html', {'articles': articles})

admin.py:
管理画面の設定を行います。

from django.contrib import admin
from .models import Article

admin.site.register(Article)

プロジェクトとアプリケーションの関係を理解し、適切に構造化することで、保守性の高い大規模なWebアプリケーションを開発することができます。


いいなと思ったら応援しよう!

K
サポートもお待ちしております! 頂いたサポートは今後の創作活動費用として、noteとYouTubeに活用させていただければと考えております!