ホームページ  >  記事  >  バックエンド開発  >  Django プログラミング ガイド: Python Web プログラミングをマスターするための道

Django プログラミング ガイド: Python Web プログラミングをマスターするための道

PHPz
PHPzオリジナル
2023-06-23 13:32:20906ブラウズ

Django は、Python 言語をベースにした Web フレームワークで、効率的で安全な Web アプリケーションを構築するための強力で使いやすいツールです。 Django は MVC (Model-View-Controller) パターンに基づいており、事前定義されたコンポーネントと設計パターンを提供することで、Web 開発をより効率的かつ制御可能にします。このフレームワークは、いくつかの有名な Web サイトや Web アプリケーションを含め、世界中で広く使用されています。 Django プログラミングを学習している場合、この記事では、この強力なツールをよりよく理解し、使いこなすのに役立ついくつかの役立つガイドとヒントを提供します。

1. Django のインストールとセットアップ

Django の使用を開始する前に、Python 環境と pip がインストールされていることを確認する必要があります。次に、pip を使用して Django をインストールできます。ターミナル (またはコンソール) で次のコマンドを入力します。

pip install Django

インストールが完了したら、次のコマンドを入力して Django のバージョンを確認できます。

django-admin --version

インストールが成功した場合は、 Django のバージョンは数値で表示されます。

次に、Django プロジェクトを作成し、仮想環境をセットアップする必要があります。仮想環境は、プロジェクトに必要な依存関係を分離し、相互に干渉しないようにします。次のコマンドを使用できます。

mkdir myproject
cd myproject
python -m venv myprojectenv

ここで、「myproject」はプロジェクトの名前、「myprojectenv」は仮想環境の名前です。次に、次のコマンドを使用して仮想環境をアクティブ化する必要があります。

source myprojectenv/bin/activate

ターミナルのコマンド プロンプトの前に仮想環境の名前が表示され、アクティブ化が成功したことがわかります。これで、仮想環境で Django コマンドを実行できるようになりました。

2. Django アプリケーションを作成する

Django アプリケーションを作成する前に、Django プロジェクト ディレクトリに入っていることを確認する必要があります。次のコマンドを使用して、新しい Django アプリケーションを作成できます:

python manage.py startapp myapp

ここで、「myapp」はアプリケーションの名前であり、「myproject」プロジェクト内にフォルダーが作成されます。このフォルダーでは、アプリケーション コードの作成、データベース モデルの定義、ビューやルーティングの処理などを行うことができます。

アプリケーションを作成したら、それを Django プロジェクトの構成に追加する必要があります。 「myproject」ディレクトリの「settings.py」ファイルを開き、「INSTALLED_APPS」リストにアプリケーション名を追加します:

INSTALLED_APPS = [
    # ...
    'myapp',
]

3. データベース モデルを定義します

Django は、組み込みのORM (オブジェクト リレーショナル マッピング) フレームワークでは、Python オブジェクトをデータベース テーブルにマッピングできます。データベース モデルを定義するには、アプリケーション フォルダーに「models.py」というファイルを作成する必要があります。このファイルでは、データベース テーブルとプロパティを次のように定義できます。

from django.db import models

class Author(models.Model):
    name = models.CharField(max_length=100)
    email = models.EmailField()

    def __str__(self):
        return self.name

class Book(models.Model):
    name = models.CharField(max_length=200)
    author = models.ForeignKey(Author, on_delete=models.CASCADE)

    def __str__(self):
        return self.name

上記のモデル定義では、「Author」と「Book」はそれぞれデータベース テーブルの名前です。各モデル定義は「models.Model」から継承し、そのプロパティを定義します。この例では、「Author」には「name」と「email」の属性があり、「Book」には「name」と「author」の属性があります。

4. ルーティングとビュー

Django では、特定の URL リクエストのロジックを識別するためにルート解決が使用されます。アプリケーション フォルダーに「urls.py」というファイルを作成し、その中で次のようにルートを定義する必要があります。

from django.urls import path
from . import views

urlpatterns = [
    path('books/', views.book_list, name='book_list'),
    path('books/<int:pk>/', views.book_detail, name='book_detail'),
]

上記のルート定義では、「パス」関数によって URL リクエストのパスが決定されます。ビュー関数の名前を指定し、受信リクエストが行われたときにビュー関数が実行するロジックを定義します。この例では、「book_list」と「book_detail」はカスタム ビュー関数であり、アプリケーション フォルダー内で適切に定義する必要があります。

5. テンプレートと静的ファイル

Django は、アプリケーション ロジックとフロントエンド表示を分​​離するために使用できる組み込みのテンプレート サポートを提供します。アプリケーション フォルダー内に「templates」というフォルダーを作成し、Django がテンプレート ファイルを検索してレンダリングします。 view 関数でテンプレート エンジンを使用すると、次のようにテンプレートをレンダリングできます。

from django.shortcuts import render
from .models import Book

def book_list(request):
    books = Book.objects.all()
    return render(request, 'books/book_list.html', {'books': books})

上記の例では、データベースからすべての書籍レコードを取得し、それらをコンテキスト変数としてレンダリングされたテンプレートに渡します。 「render」関数では、テンプレート名を指定し、コンテキスト変数を辞書に含めます。

Django では、静的ファイル (CSS、JavaScript、画像など) は通常、「static」という名前の別のフォルダーに保存されます。アプリケーション フォルダー内にこのフォルダーを作成し、その中に静的ファイルを配置できます。テンプレートでは、次のコードを使用して静的ファイルを参照できます:

<link rel="stylesheet" href="{% static 'css/styles.css' %}">

6. 管理ページ

Django は、アプリケーション データを管理するための強力な管理インターフェイスを提供します。管理者インターフェイスを使用すると、コードを記述せずにデータを追加、編集、削除できます。管理インターフェースを有効にするには、「myapp/admin.py」にモデルを登録する必要があります。

from django.contrib import admin
from .models import Author, Book

admin.site.register(Author)
admin.site.register(Book)

7. 概要

この記事では、Web アプリケーションの開発を開始して開始するのに役立つ、Django プログラミングの基本的な知識とスキルを提供します。 Django は、効率的で安全な Web アプリケーションを構築するための強力なツールであるだけでなく、アプリケーションを迅速に開発するのに役立つ多くの組み込み機能とプラグインも提供します。初心者でも経験豊富な開発者でも、Django プログラミングをマスターすると、より多くの機会と課題がもたらされます。

以上がDjango プログラミング ガイド: Python Web プログラミングをマスターするための道の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。