Django は、拡張性と柔軟性に優れたオープンソースの Python Web フレームワークです。 「Model-View-Controller (MVC)」設計パターンを採用し、Web アプリケーションの開発を迅速かつ効率的に行います。この記事では、初心者が Django を使いこなすために、Django の基礎知識、Django のインポートとインストール、データベースの作成、モデルの構築、ビューの作成について詳しく紹介します。
1. Django の基礎知識
Django の主なコンポーネントには、URL スケジューラ、テンプレート エンジン、ビュー、データベース アクセス層などが含まれます。 Django は複数のデータベースをサポートし、ORM (オブジェクト リレーショナル マッピング) ツールを使用してオブジェクト表現を提供し、データベースにアクセスします。 Apache、Nginx などの複数の Web サーバーを同時にサポートします。 Django は、管理バックエンド、フォーム処理、国際化、セキュリティと認証などの豊富な機能とコンポーネントも提供します。
2. Django のインポートとインストール
Django をインストールする前に、Python が正常にインストールされていることを確認する必要があります。 Django をインストールするには 2 つの方法があります。1 つは pip コマンドを使用する方法 (推奨)、もう 1 つは手動でダウンロードしてインストールする方法です。ここではpipのインストール方法を紹介します。
pip install virtualenv
次に、次のコマンドを使用して新しい仮想環境を作成します。
virtualenv djangoenv
この例では、仮想環境の名前は djangoenv です。
pip install Django
このコマンドは、最新バージョンを自動的にダウンロードし、仮想環境の site-packages ディレクトリにインストールします。
3. データベースを作成する
Django は、MySQL、PostgreSQL などの複数のデータベース システムをサポートしています。この記事では、デフォルトの SQLite データベースを使用します。 Python をインストールすると、SQLite がすでにインストールされています。
django-admin startproject mysite
この例では、プロジェクトの名前は mysite です。
cd mysite python manage.py startapp blog
このコマンドは、プロジェクトのルート ディレクトリに blog という名前のディレクトリを作成します。
注: このコマンドはプロジェクトのルート ディレクトリで実行する必要があります。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
この設定では、データベースの種類を SQLite に設定し、名前を設定します。データベース ファイル db.sqlite3。 DATABASES 設定は、MySQL や PostgreSQL などの他のリレーショナル データベースもサポートします。
python manage.py makemigrations python manage.py migrate
このコマンドは、データベース ファイルを作成し、Django で使用されるすべてのアプリケーションのデータベース モデルを管理するために必要なテーブルを作成します。
4. モデルの構築
モデルは、データをデータベースにマッピングする際の重要な部分です。モデルを使用するには、データベース内のテーブルを定義するために使用される Python クラスを定義する必要があります。 Django の ORM はさまざまな種類のデータベースをサポートしていますが、便宜上、この記事では SQLite データベースを使用します。
from django.db import models class Blog(models.Model): title = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') body = models.TextField() def __str__(self): return self.title
python manage.py makemigrations blog python manage.py migrate
このコマンドは、定義したデータ モデルを含む新しいテーブルをデータベースに作成します。
5. ビューの作成
ビューは、ユーザーがアプリケーションと対話する部分です。ビューは、モデルからデータを取得し、その結果をユーザーのブラウザーにレンダリングする一連の関数です。 Django では、すべてのビューが HTTP 応答オブジェクトを返す必要があります。 Django には、一般的に使用されるビューの種類もいくつか用意されています。
from django.shortcuts import render from django.http import HttpResponse from .models import Blog def index(request): latest_blog_list = Blog.objects.order_by('-pub_date')[:5] context = {'latest_blog_list': latest_blog_list} return render(request, 'blog/index.html', context) def detail(request, blog_id): blog = Blog.objects.get(pk=blog_id) return render(request, 'blog/detail.html', {'blog': blog})
ここでは、インデックスと詳細という 2 つのビューが定義されています。インデックス ビューは、最新の 5 つのブログ投稿を取得し、それらを 1 つずつ HTML テンプレートにレンダリングします。詳細ビューはブログ投稿の詳細を取得し、HTML テンプレートにレンダリングします。
index.html
{% if latest_blog_list %} <ul> {% for blog in latest_blog_list %} <li><a href="{% url 'blog:detail' blog.id %}">{{ blog.title }}</a></li> {% endfor %} </ul> {% else %} <p>No blogs are available.</p> {% endif %}
detail.html
<h1>{{ blog.title }}</h1> <p>{{ blog.body }}</p> <p>Published on {{ blog.pub_date }}</p>
from django.urls import path from . import views app_name = 'blog' urlpatterns = [ path('', views.index, name='index'), path('<int:blog_id>/', views.detail, name='detail'), ]
在这个文件中,我们使用URL配置了两个视图函数:index和detail。路径“283b0284c70ce5b35f6a4cddbe3f14e7/”定义了一个变量blog_id,并将其传递给detail视图函数。
六、启动服务器
现在我们已经定义了我们的Django应用程序,我们可以启动服务器并测试它是否正常工作了。在命令行中输入以下命令。
python manage.py runserver
如果一切正常,您将看到以下输出。
Performing system checks... System check identified no issues (0 silenced). September 18, 2021 - 18:13:35 Django version 3.2, using settings 'mysite.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK.
现在您可以打开浏览器,并输入地址http://127.0.0.1:8000/blog/来访问您的Django网站。
七、总结
本文提供了一个Django入门指南,介绍了Django的基础知识,导入和安装Django,创建数据库,模型构建和视图创建等方面的内容。希望本文能够帮助初学者更好地理解Django,并在他们的Web开发项目中使用它。在Web开发的繁荣时代,Django无疑是一个强大的工具。
以上がDjango 入門: 手続き型 Python Web フレームワークのチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。