ホームページ > バックエンド開発 > Python チュートリアル > Python で Django を使用する: 初心者から上級プログラミングまで

Python で Django を使用する: 初心者から上級プログラミングまで

WBOY
リリース: 2023-06-22 14:51:07
オリジナル
2180 人が閲覧しました

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 は、モデル、ビュー、テンプレートなどの複数のコンポーネントに分かれています。それらの定義は次のとおりです。

  1. モデル: データ構造とデータベース間の相互作用を定義するために使用されます。
  2. View (ビュー): ユーザー要求を処理し、HttpResponse オブジェクトを構築し、テンプレートをレンダリングして応答を完成します。
  3. テンプレート: Web ページの表示形式を定義するために使用されます。

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 の高度なプログラミングのヒント

  1. 静的ファイル処理

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 スタイル ファイルを読み込みます。

  1. ユーザー認証

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、およびログアウト機能とログアウトプロセス。

  1. テスト

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート