Djangoの紹介
Djangoは2005年にリリースされ、それは世界で最も元々オンラインニュースのウェブサイトを作るために使用されるPythonのWebフレームワークを、成熟です。
DjangoはPythonで書かれたオープンソースのWebアプリケーションフレームワークです。フレームワークのモデルMVCを採用し、多くの人がMTVモードと呼んでもあります。
BS / CSアーキテクチャ図
MVCデザインパターン
簡単な紹介
そうデータこと、分離インタフェース表示コード、ユーザとのインターフェースのカスタマイズとの相互作用を向上させながら、部材を収集するサービスロジック、再する必要を整理するサービスロジックとソフトウェア設計モデル、書き込みのビジネスロジック。
MVCは、グラフィカルインターフェイスコンフィギュレーションロジックで従来のマッピング入出力処理機能のために開発されたユニークです。
核心思想
:デカップリング
优点
:コードの再利用を最大化する、コードを再構築するより簡単な変更を容易にするために、モジュール間の結合を低減(リユースコードが既に学習しています:封装
、继承
)。
MVCのプログラミングモデル
: - MVCを使用して(モデルビューコントローラモデルビューコントローラ - )MVCは、Webアプリケーションのデザインパターンを作成します。
Model
:カプセル化アプリケーションのビジネス・ロジック、および方法、論理アプリケーションのWebアプリケーションのためのデータ処理部の処理データに関連するデータは、通常はモデルインタフェース機能典型的インターフェイスは、モデルを得ることができますすべての機能。View
:データ表示やプレゼンテーションのための責任、ビューはユーザーに直接出力されます。Controller
:エンドユーザーは、ユーザーの入力から収集するための責任がある、主にユーザーとの対話を処理し、表示リバース機能を提供するものとして見ることができます。
より多くのイラストのようなジャンゴ:
MTVモード
簡単な紹介
本質的に差MVCだけでなく、種々の構成要素間の疎結合の関係を維持するために、やや異なる定義全く存在しません。
MTVのプログラミングモード
- モデル:責任あるビジネスオブジェクトデータベース(
ORM
)オブジェクト - 表示:適切な時にビジネスロジックを担当する、およびコールモデルとTemplete(MVCのと同等
Controller
) - Templete:负责将页面展现给用户(相当于MVC的
View
)
注意:Django中还有一个url分发器
(也叫路由
),主要用来将一个个的URL页面请求分发给不同的View进行处理,View再调相应的用Model和Templete。
Hello Django
安装
使用虚拟环境
安装
conda install django=1.11.7
使用 django-admin 来创建 HelloDjango项目:
django-admin startproject HelloDjango
创建完成后我们可以查看下项目的目录结构:
$ cd HelloWorld/
$ tree
.
|-- HelloWorld
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| `-- wsgi.py
`-- manage.py
目录说明:
- HelloWorld: 项目的容器。
- manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
- HelloWorld/
__init__.py
: 一个空文件,告诉 Python 该目录是一个 Python 包。 - HelloWorld/settings.py: 该 Django 项目的设置/配置。
- HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
- HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
启动项目的不同方式
python manage.py runserver [ip:port]
- 直接进行服务运行,默认执行起来的端口是8000。
- 自己指定ip和端口。(ip指定为
0.0.0.0
的时候,匹配本机的全部ip)
python manage.py runserver 0.0.0.0:8000
在浏览器输入你服务器的 ip(这里我们输入本机 IP 地址: 127.0.0.1:8000
) 及端口号,如果正常启动,输出结果如下:
项目环境
- 开发环境
- 测试环境
- 演示环境
- 生产环境(线上环境)
修改字符集
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
再次启动项目,并查看网址