Python 言語の人気に伴い、Django フレームワークは人気のある Web 開発フレームワークになりました。 Django フレームワークの豊富な機能と開発効率を向上させる機能により、開発者が集まります。この記事では、Django フレームワークの初歩的な知識を紹介し、初心者が Django の使用法をよりよく理解して習得できるように、高度なプログラミング スキルを提供します。
Django フレームワークは、Python 言語に基づいて構築されたオープンソース Web フレームワークです。その設計哲学は「現実に基づいて、シンプルで実用的」であり、主に MVC (Model-View-Controller) 設計パターンに基づいており、データベース インターフェイス、URL ルーティング、フォーム処理、テンプレート レンダリングを含む完全な Web 開発機能を提供します。ユーザー認証など。
Django のインストール
Django を使い始める前に、まず Django をインストールする必要があります。 pip を使用して Django をインストールできます。コマンド pip install Django を実行するだけです。
Django の基本構造
Django は、モデル、ビュー、テンプレートなどの複数のコンポーネントに分かれています。それらの定義は次のとおりです。
Django の URL 設定
URL 設定は、すべての HTTP リクエストを監視し、それらを適切なビューにディスパッチするための基礎となります。 Django では、プロジェクトの urls.py ファイルで URL を構成できます。例:
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('about/', views.about, name='about'), ]
上記は簡単な URL 構成例です。これは 2 つの URL を定義します。1 つはルート ディレクトリのホームページ、もう 1 つは /about/ の about ページです。このパスは、views.py ファイルの view 関数、index() および about() にリクエストを送信します。view 関数は次のセクションで定義されます。
Django のビュー関数
Django では、ビュー関数はユーザーのリクエストに応答するコードです。これらは、URL 構成内のパスに基づいて HttpResponse オブジェクトを構築します。ビュー関数の形式は次のとおりです。
from django.http import HttpResponse def index(request): return HttpResponse("Hello, World!")
上記は、単純な Index() ビュー関数の例です。 HTTP リクエストに応答し、「Hello, World!」という文字列を返します。
Django のテンプレート
Django のテンプレートは、Web ページのスタイルを定義するために使用されるコードです。これらを使用すると、Python コードを HTML に埋め込んで動的な Web ページを構築できます。テンプレート ファイルは、project/app/templates/ ディレクトリに保存されます。テンプレートの例を次に示します。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{{ title }}</title> </head> <body> <p>{{ content }}</p> </body> </html>
テンプレートでは、変数にアクセスして条件とループを実行できる Python コードのブロックを指定するために、{{ }} が使用されます。上記の例では、タイトルと段落を動的に生成するために、タイトル変数とコンテンツ変数がビュー関数のテンプレートに渡されます。
Django のモデル
Django のモデルは、データ構造とデータベース間の相互作用を定義するために使用されるコードです。これらを使用すると、Python の方法でデータベース レコードを簡単に操作できます。モデル定義は app/models.py ファイルに保存されます。以下はモデルの例です:
from django.db import models class Book(models.Model): title = models.CharField(max_length=200) author = models.CharField(max_length=200) pub_date = models.DateField() def __str__(self): return self.title
上の例では、title、author、pub_date 属性を持つ Book モデルを定義しました。関数 __str__() は、モデルの文字列表現を定義します。このモデルでは、Django のデフォルトの SQLite データベースをストレージとして使用しますが、代わりに mysql などの他のデータベースを使用することもできます。
Django の高度なプログラミングのヒント
Django は、CSS、JavaScript、画像などの静的ファイルの処理をサポートしています。 settings.py ファイルに次の行を追加します。
STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), '/var/www/static/', ] STATIC_ROOT = '/var/www/static_files/'
/templates/my_template.html に次のコード行を含めることができます。
{% load static %} <link rel="stylesheet" type="text/css" href="{% static 'my_style.css' %}">
上記のコード行により、静的ファイルからのアクセスが可能になります。フォルダー my_style.css スタイル ファイルを読み込みます。
Django は、ロールベースのアクセス制御を簡単に実装し、ユーザーが保護されたページにアクセスするときに正しい情報を確実に受け取ることができるユーザー認証システムを提供します。認証。この機能を使用するには、まず Django.contrib.auth モジュールから以下をインポートする必要があります:
from django.contrib.auth.decorators import login_required from django.contrib.auth import authenticate, login as auth_login, logout as auth_logout
次に、保護されたビューを @loginrequired デコレータでマークし、authenticate、login、およびログアウト機能とログアウトプロセス。
Django には、テスト ケースを作成してアプリケーションがどのような状況でも適切に動作することを確認できるテスト フレームワークがあります。テスト ケースを作成するには、tests.py ファイルを作成し、Django の TestCase クラスをインポートします。以下はテスト ケースの例です。
from django.test import TestCase from django.urls import reverse class MyAppTests(TestCase): def test_index(self): response = self.client.get(reverse('index')) self.assertEqual(response.status_code, 200)
上の例では、MyAppTests という名前の TestClass を作成し、テスト ケース test_index を追加しました。 Django のクライアント オブジェクトを使用してリクエストをシミュレートし、HTTP 200 応答コードが返されることを確認します。
概要
Django フレームワークは、Web アプリケーションを迅速に開発するための完全で使いやすいツールセットを提供する強力な Web 開発フレームワークです。この記事で説明する基本概念と高度なプログラミング手法を使用すると、Django Web アプリケーションを簡単に構築し、Django の使用方法を深く理解できます。
以上がPython で Django を使用する: 初心者から上級プログラミングまでの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。