Djangoフレームワーク(A):MVCデザインパターン、Djangoのプロフィール

1. MVCデザインパターン

MVCデザインパターン:モデル - ビュー - コントローラの速記。

最初の1978年にTrygveReenskaugによって提案された、ゼロックスのパロアルト研究所(PARCゼロックス)Smalltalkの発明は、従来の入力(入力)、処理することにあるプログラミング言語として、1980年代のデザインパターン(処理でありますグラフィカル・ユーザ・インタラクションモデルとデザインを使用する)、出力(出力)タスク。標準入出力デバイスの登場により、開発者は、分析とビジネスロジックの実装に焦点を当てる必要があります。これは、OracleのSunのJava EEプラットフォームの設計パターンとして推奨されるようになった、とColdFusionとPHP開発者のより多くの使用による歓迎しました。もはや労働者の元部門を使用しませんが、この部門は、広くソフトウェア工学で使用立って、典型的なと広く使われているソフトウェアアーキテクチャのモデルがあると考えられているが。その後、MVCの考え方は、Web MVCフレームワークとして知られているウェブの開発に適用されます。

MVCは、一般的にビジネスロジックと表示インタフェースの分離を設計するための方法であり、ソフトウェア工学、ソフトウェア・アーキテクチャ・モデルで使用されています。モデル(モデル)、ビュー(ビュー)とコントローラ(コントローラ):これは、ソフトウェアシステムは、3つの基本的なセクタに分割されています。

  • コントローラコントローラ:リクエストを処理するために、要求を転送する責任があります。
  • ビュービュー:インターフェースデザイナーのグラフィカルインターフェイスのデザイン。
  • モデルモデル:書き込み機能(アルゴリズムなど)プログラムアプリケーション、データベース管理。

MVCフレームワークは、核となるアイデアである:デカップリングので、後方互換性のために、拡張性と携帯性を向上させるためのコードの異なるコードブロックの間の結合を減少させます。

両方のMVCフレームワークで、Java(登録商標)、PHP、Pythonなどの開発言語の現在の主流。

2. Djangoのプロフィール

2.1 MTVのデザインパターン

MTV Djangoの性質およびMVCパターンは同じであるが、疎結合のコンポーネントが、わずかに異なる定義との間の関係を維持するために、MTV Djangoの値は次のとおりです。

  • :Mモデル(モデル)を表すビジネスオブジェクトリレーショナルマッピングとデータベース(ORM)の責任を。
  • :Tは、テンプレート(テンプレート)を表しているユーザー(HTML)にページを表示する方法については責任を。
  • Vは、ビュー(ビュー)を表し:ビジネス・ロジックを担当し、かつ適切な時期にモデルとテンプレートを呼び出します。

次の3つの上記に加えて、だけでなく、URLディストリビュータ、異なるビュー、ビューに配布ページ要求プロセスのURLであるの役割を必要とし、適切なモデルテンプレートを呼び出し、MTV応答モードです。

 一般的にブラウザを介して当社のサーバーにユーザーが開始要求(リクエスト)、要求背面アクセスへの表示機能、(データ呼に関連していない場合、そのビュー機能は、テンプレートは、ユーザーへのWebページで返します。この時間)、ビュー機能コール・モデル、データを見つけるためにmodelデータベース、および当時のステップは、関数は空のテンプレートを埋めるためにデータを返す、最後のページがユーザーに返され表示します。

使用に2.2 Djangoのシンプルな

2.2.1 Djangoのインストール

ピップインストールジャンゴ-i http://pypi.douban.com/simple/ --trustedホストpypi.douban.com

Djangoのプロジェクトの作成2.2.2

私たちは、最も一般的な電子ビジネスサイトでは、例えば、サイト上のユーザ関連のページが今そこにある、ページが関連する商品と、並びにそのようなサイトのコンテンツは、実際には機能モジュールであるとして、ページの関連する受注、であります。

ジャンゴでは、プロジェクトの組織構造は、プロジェクトは、複数のアプリケーション、サービスモジュールに対応するアプリケーションを備えています。

プロジェクトのコマンドを作成し、次のとおりです。

django-admin startproject 项目名称

プロジェクトを作成し、プロジェクトがdjangotestと命名されています。

ジャンゴ-adminのstartprojectのdjangotest

その後、我々は、ディレクトリdjangotestを見てください。

2.2.3説明項目のデフォルトのディレクトリ

manage.pyは、プロジェクトの経営を通じて、プロジェクト管理ファイルです。 

するとここで、djangotest同じ名前のディレクトリプロジェクトです。

  • _init_.pyは、この役割はtest1のディレクトリがパッケージとして使用することができている、空のファイルです。
  • asgi.pyは、プロジェクトのasgiプロファイルです。
  • settings.pyは、プロジェクトの全体的なプロファイルです。
  • urls.pyは、プロジェクトのURLの設定ファイルです。
  • wsgi.py是项目与WSGI兼容的Web服务器入口。

2.2.4 创建应用

使用一个应用开发一个业务模块,此处创建应用名称为booktest,完成图书的信息维护。

python manage.py startapp booktest

  • _init.py_是一个空文件,表示当前目录booktest可以当作一个python包使用。
  • tests.py文件用于开发测试用例,在实际开发中会有专门的测试人员,这个事情不需要我们来做。
  • models.py文件跟数据库操作相关。
  • views.py文件跟接收浏览器请求,进行处理,返回页面相关。
  • admin.py文件跟网站的后台管理相关。
  • apps文件夹是django1.10之后增加的,通常里面包含对应用的配置。

2.2.5 安装应用 

应用创建成功后,需要安装才可以使用,也就是建立应用和项目之间的关联,在djangotest/settings.py中INSTALLED_APPS下添加应用的名称就可以完成安装。 

初始项目的INSTALLED_APPS:

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

接下来在元组中添加一个新的项,当前示例为booktest:

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

2.2.6 开发服务器

在开发阶段,为了能够快速预览到开发的效果,django提供了一个纯python编写的轻量级web服务器,仅在开发阶段使用。

运行服务器命令:

python manage.py runserver ip:端口

可以不写IP和端口,默认IP是127.0.0.1,默认端口为8000。

服务器启动成功:

紧接着在浏览器中输入网址“127.0.0.1:8000”,可以查看当前站点开发效果。

如果增加、修改、删除文件,服务器会自动重启;
按ctrl+c停止服务器。

おすすめ

転載: www.cnblogs.com/liuhui0308/p/12189658.html