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停止服务器。