Python は、学習が容易で可読性が高く、広く使用されているという利点を持つ人気のプログラミング言語であり、Web 開発、データ サイエンス、機械学習などの分野で広く使用されています。中でもDjangoはPython言語をベースに開発された高度なWebフレームワークであり、Webアプリケーション開発にとって重要なツールです。
Django は、学習しやすく、保守しやすく、MVC パターンに従っており、独自の ORM が付属しているという利点を特徴としており、開発者の間で人気があります。この記事では、Python と Django を使用して Web アプリケーションを構築するための実践的なガイドを提供します。
まず、Python と Django をインストールする必要があります。最新の Python インストール パッケージは、Python の公式 Web サイト (www.python.org) からダウンロードできます。インストール後、コマンド ラインに python と入力して、Python が正しくインストールされているかどうかを確認できます。
Django のインストールは、pip パッケージ マネージャーを通じてインストールできます。コマンド ライン ウィンドウを開き、次のコマンドを入力します:
pip install django
インストールが完了したら、Django が正しくインストールされているかどうかを確認できます。次のコマンド:
django-admin --version
Django のバージョン番号が返されれば、インストールは成功です。
コマンド ラインで、Django プロジェクトを保存するディレクトリを入力し、次のコマンドを入力します:
django-admin startproject myproject
このコマンドは、「myproject」という名前の Django プロジェクトは次のプロジェクト ディレクトリ構造を持っています:
myproject/ manage.py myproject/ __init__.py settings.py urls.py wsgi.py
このうち、manage.py はコマンド ラインで Django タスクを実行するために使用されるスクリプト ファイルです。 .py にはプロジェクト設定が含まれ、urls.py にはプロジェクトの URL パターンが含まれ、wsgi.py には Web サーバーがリクエストを転送する Python アプリケーションを指定します。
Django プロジェクトでは、アプリケーションとは、Web アプリケーションと特定のビジネス ロジックを組み合わせるコンポーネントを指します。次のコマンドを使用して、作成された Django プロジェクトにアプリケーションを作成できます。
python manage.py startapp myapp
このコマンドは、Django プロジェクトのアプリケーション ディレクトリの "myproject" ディレクトリに "myapp" という名前のアプリケーションを作成します。構造は次のとおりです。 :
myapp/ __init__.py admin.py apps.py models.py tests.py views.py
このうち、models.py にはアプリケーションのデータベース モデル定義が含まれ、views.py にはリクエスト処理関数が含まれ、admin.py はバックグラウンドの管理に使用され、tests.py には次のテスト コードが含まれます。アプリケーション。
Django の ORM は、Python クラスをデータベース テーブルにマップするツールです。models.py ファイルを編集することで、アプリケーションのモデルを定義できます。
たとえば、次の属性を含む「Book」という名前のモデルを作成します。
コードは次のとおりです:
from django.db import models class Book(models.Model): title = models.CharField(max_length=200) author = models.CharField(max_length=50) pub_date = models.DateField() price = models.DecimalField(max_digits=5, decimal_places=2, max_value=9999.99)
Django では、データベース テーブルは以下から自動的に作成されます。モデル。次のコマンドを使用して、データベースにモデルを作成できます。
python manage.py makemigrations myapp
このコマンドは、モデルをデータベース テーブルにマップする方法を記述したデータベース移行ファイルを作成します。次のコマンドを使用して、データベースに移行を適用できます:
python manage.py migrate
このコマンドは、移行ファイルの指示に従ってデータベースにテーブルを作成します。
Django では、ビューはリクエスト処理関数であり、ユーザーが開始したリクエストを処理し、応答コンテンツを生成する役割を果たします。ビューを作成する前に、リクエストをビューに関連付ける URL パターンを構成する必要があります。 urls.py ファイルを編集して、次のコードを追加できます。
from django.urls import path from . import views urlpatterns = [ path('books/', views.book_list, name='book_list'), path('books/new', views.book_new, name='book_new'), path('books/<int:pk>/edit/', views.book_edit, name='book_edit'), path('books/<int:pk>/delete/', views.book_delete, name='book_delete'), ]
このコード スニペットは、4 つのビューに関連付けられた 4 つの URL パターンを定義します。このうち、path 関数の最初のパラメータは URL を指定し、2 番目のパラメータはビュー関数を指定し、3 番目のパラメータはビューを HTML にレンダリングするときのテンプレート エンジンの名前です。
views.py ファイルでは、次のようなリクエスト処理関数を定義できます:
from django.shortcuts import render, get_object_or_404 from .models import Book from .forms import BookForm def book_list(request): books = Book.objects.all() return render(request, 'book_list.html', {'books': books}) def book_new(request): if request.method == "POST": form = BookForm(request.POST) if form.is_valid(): book = form.save(commit=False) book.save() return redirect('book_list') else: form = BookForm() return render(request, 'book_edit.html', {'form': form}) def book_edit(request, pk): book = get_object_or_404(Book, pk=pk) if request.method == "POST": form = BookForm(request.POST, instance=book) if form.is_valid(): book = form.save(commit=False) book.save() return redirect('book_list') else: form = BookForm(instance=book) return render(request, 'book_edit.html', {'form': form}) def book_delete(request, pk): book = get_object_or_404(Book, pk=pk) book.delete() return redirect('book_list')
その中で、book_list 関数はすべての書籍のリストを返すために使用され、book_new 関数は新しいブックの作成に使用され、book_edit 関数は既存のブックの編集に使用され、book_delete 関数はブックの削除に使用されます。
Django では、テンプレート エンジンを使用してビュー関数を HTML ページにレンダリングし、それによって視覚的な Web インターフェイスをユーザーに表示できます。テンプレート ディレクトリに book_list.html などの HTML テンプレート ファイルを作成できます。
コードは次のとおりです:
{% extends 'base.html' %} {% block content %} <h1>Books</h1> <a href="{% url 'book_new' %}">New book</a> <table> <thead> <tr> <th>Title</th> <th>Author</th> <th>Pub date</th> <th>Price</th> <th>Actions</th> </tr> </thead> <tbody> {% for book in books %} <tr> <td>{{ book.title }}</td> <td>{{ book.author }}</td> <td>{{ book.pub_date }}</td> <td>{{ book.price }}</td> <td> <a href="{% url 'book_edit' book.id %}">Edit</a> <a href="{% url 'book_delete' book.id %}">Delete</a> </td> </tr> {% endfor %} </tbody> </table> {% endblock %}
その中で、{% extends 'base.html' %} は、このテンプレートがbase.html テンプレートから継承することを指定します; {% block content %} to {% endblock %} このテンプレートのメイン コンテンツが、テンプレート内に含まれるコンテンツであることを指定します。
Django サーバーを実行し、ブラウザで localhost:8000/books/ を開いてすべての書籍のリストを表示します。
この簡単な例を通じて、Python と Django を使用して Web アプリケーションを構築する方法を学び、Python と Django のインストール、Django プロジェクトとアプリケーションの作成、Django モデル、ビュー、テンプレートの作成などの基本的な操作を学びました。このガイドが独自の Web アプリケーションの構築に役立つことを願っています。
以上がPython と Django を使用した Web アプリケーションの構築: 実践的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。