ホームページ >バックエンド開発 >Python チュートリアル >Django 入門: Python Web フレームワークの完全な紹介

Django 入門: Python Web フレームワークの完全な紹介

WBOY
WBOYオリジナル
2023-06-22 10:20:083168ブラウズ

Django 入門ガイド: Python Web フレームワークの完全な紹介

Web 開発の世界では、開発にフレームワークを使用するのが一般的な方法です。フレームワークは、共通の構造、機能、ルールを提供するコード編成方法であり、開発者が完全に機能し、信頼性が高く、保守が容易な Web アプリケーションを迅速に構築できるようにします。 Python には優れた Web フレームワークが数多くありますが、現在最も人気のあるフレームワークは Django であり、さまざまな Web プロジェクトの開発で広く使用されています。この記事では、Django フレームワークの入門知識を紹介し、初心者がすぐに使い始めるのに役立ちます。

  1. Django とは

Django は、Python で書かれた Web アプリケーション フレームワークです。その目標は、高品質の Web アプリケーションの開発プロセスをできるだけ簡単、迅速、そして楽しくすることです。 Django は、MVC (Model-View-Controller) 設計パターンに従っており、開発者が効率的な Web アプリケーションを構築するのに役立つ多くの強力なツールと機能を提供します。

  1. Django フレームワークの利点

Django フレームワークには次の利点があります。

  • 高度なモジュール性: Django フレームワークは、疎結合の設計原理 高度にモジュール化されたアーキテクチャにより、さまざまなモジュールを個別に作成、テスト、デバッグできるため、開発効率が向上します。
  • 拡張が簡単: Django フレームワークは、簡単に拡張およびカスタマイズできる豊富なプラグインとモジュールのセットを提供します。
  • 高セキュリティ: Django フレームワークには、XSS (クロスサイト スクリプティング) 保護、CSRF (クロスサイト リクエスト フォージェリ) 保護、パスワード ハッシュなど、多くのセキュリティ機能が組み込まれており、開発者は次のことが可能です。安全な Web アプリを構築します。
  • ORM (オブジェクト リレーショナル マッピング) サポート: Django フレームワークには、データベース操作を容易にする組み込みの ORM システムがあります。
  • バックエンド管理システムが付属: Django フレームワークには、開発者がコンテンツ管理システム (CMS) を簡単に開発できる豊富なバックエンド管理システムが付属しています。
  1. Django のインストールと構成

Django の使用を開始する前に、まず Python をインストールする必要があります。 Django フレームワークは、次のコマンドを使用してコマンド ラインからインストールできます:

pip install Django

インストールが完了したら、次のコマンドを使用してインストールが成功したかどうかを確認できます:

django-admin version

バージョン番号が出力されればインストール成功です。

  1. Django Web フレームワークの基本コンポーネント

Django のコンポーネントは次の部分に分割できます:

  • モデル層: これは M です。 Django の MVC のレイヤーで、データのストレージと操作を担当します。
  • ビュー レイヤー (ビュー): これは、Django の MVC の V レイヤーであり、HTTP リクエストを処理し、HTTP レスポンスを返す役割を果たします。
  • テンプレート層 (テンプレート): これは Django の MVC の C 層であり、データのレンダリングと HTML 応答の生成を担当します。
  • URL ルーティング (URLconf): HTTP リクエストを対応するビュー関数に配信します。
  1. Django プロジェクトの作成

Django を使用して Web アプリケーションを作成するには、まず Django プロジェクトを作成する必要があります。次のコマンドを使用して、mysite という名前の Django プロジェクトを作成します。

django-admin startproject mysite

コマンドを実行すると、現在のディレクトリに mysite という名前のディレクトリが作成されます。このディレクトリには、manage.py という名前のファイルと、という名前の A サブディレクトリが含まれます。私のサイト。 manage.py は、Django プロジェクトのさまざまな操作を管理するために使用される Django コマンド ライン ツールです。

  1. Django アプリケーションの作成

Django プロジェクトでは、各関数またはビジネス ロジックを 1 つのアプリケーションと見なすことができます。Django は、複数のアプリケーションの作成と、それらを組み合わせた 1 つのアプリケーションの作成をサポートしています。 Web アプリケーションを完成させるには、mysite ディレクトリで次のコマンドを実行して、myapp という名前のアプリケーションを作成します。

python manage.py startapp myapp

コマンドを実行すると、mysite ディレクトリに myapp という名前のサブディレクトリが作成されます。このサブディレクトリには、アプリケーションのコードと関連ファイルが含まれます。設定ファイル。

  1. Django アプリケーションのビュー関数の作成

View 関数は、Django アプリケーションの重要なコンポーネントであり、HTTP リクエストを処理し、HTTP レスポンスを返します。ビュー関数は、myapp ディレクトリの views.py ファイルに記述することができます。たとえば、このファイルに「Hello World!」文字列を返すビュー関数を作成します。

from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello World!")

上記のコードでは、HTTP 応答の生成に使用される HttpResponse クラスを使用します。このビュー関数を URL に関連付けるには、次の構成が必要です。

from django.urls import path
from . import views

urlpatterns = [
    path('hello/', views.hello, name='hello'),
]

上記のコードは、パス関数を使用して、/hello/ URL を hello という名前のビュー関数に関連付けます。

  1. Django Web フレームワーク テンプレート

Django フレームワークは、データをビューから分離するためのテンプレート (テンプレート) をサポートしており、コードがより明確になり、保守が容易になります。テンプレートは、動的データ、ループ、条件ステートメントなどを含めることができる HTML ファイルです。

Django テンプレートを使用するには、次の操作が必要です。

  • myapp ディレクトリに templates という名前のサブディレクトリを作成します。
  • このディレクトリに hello.html という名前の HTML テンプレート ファイルを作成します。
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Hello World!</title>
</head>
<body>
    <h1>{{msg}}</h1>
</body>
</html>

上記のコードでは、テンプレート A を表すために二重括弧「{{}}」構文が使用されています。テンプレートのレンダリング時に置き換えられる変数。

ビュー関数を作成し、レンダリングのためにデータをテンプレートに渡します。

from django.shortcuts import render

def hello(request):
    data = {'msg': 'Hello World!'}
    return render(request, 'hello.html', data)

テンプレートのレンダリングに render 関数を使用し、データ ディクショナリをパラメータとしてテンプレートに渡します。

  1. Django数据库操作

在Django项目中,Django提供了一个内置的ORM框架,它方便开发者进行数据库操作。在mysite目录下的settings.py文件中可以进行数据库配置,该文件包含了DATABASES配置节点,该节点用于配置数据库连接相关信息。

在myapp目录下的models.py文件中可以定义数据库模型,例如定义一个名为Person的数据模型类:

from django.db import models

class Person(models.Model):
    name = models.CharField(max_length=30)
    age = models.IntegerField()

以上代码中,使用了CharField和IntegerField数据类型来定义模型的字段。使用以下命令可以在数据库中创建该数据模型对应的表:

python manage.py makemigrations
python manage.py migrate

以上命令会根据models.py文件中的定义,在数据库中创建相应的数据表。

  1. Django应用程序的注册

在mysite目录下的settings.py文件中可以进行应用程序注册,将创建的应用程序添加到INSTALLED_APPS配置节点中:

INSTALLED_APPS = [
    'myapp',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

添加应用程序到INSTALLED_APPS节点后,需要在myapp目录下创建名为admin.py的文件,用于创建管理界面。

  1. Django自带后台管理系统

Django提供了一个功能强大的后台管理系统,该系统可以自动根据模型创建对应的管理界面。在myapp目录下的admin.py文件中可以注册模型以创建管理界面,例如:

from django.contrib import admin
from .models import Person

admin.site.register(Person)

以上代码中,使用了register函数来注册Person数据模型,该函数会自动创建对应的管理界面。

  1. Django应用程序的启动

在编辑好Django应用程序之后,通过以下命令即可启动该应用程序:

python manage.py runserver

命令执行后,Django应用程序会运行在本地服务器上,可以在浏览器中访问http://localhost:8000/hello/ URL查看效果。

  1. 结语

Django框架是一个完整的Python Web框架,拥有强大的工具和功能来帮助开发者构建高效、稳定的Web应用程序。本文介绍了Django框架的基础知识,涉及了Django项目的创建、模型定义、视图函数编写、模板使用和后台管理系统等方面。通过本文的学习,读者可以快速入门并掌握Django框架的基础知识,进一步深入学习和应用该框架。

以上がDjango 入門: Python Web フレームワークの完全な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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