早期使用1Djangoフレームワーク
Djangoフレームワークといえば、確かに我々は最初のソフトウェアフレームワークという概念をクリアする必要があります。ここで最初の質問は次のとおりです。
1ソフトウェアフレームワーク(ソフトウェアフレームワーク)
1.1定義
ソフトウェアフレームワークは:通常、達成するためにを意味し、業界標準または完全な特定の基本的なタスクのソフトウェアコンポーネント仕様のを、ほかの達成のためのソフトウェアコンポーネント仕様の要求仕様を提供、ソフトウェア製品ベースの機能を。1
ソフトウェアフレームワークは、基本的な機能を持つソフトウェア製品です。
- 基本機能は:機能の特定のセットを満たすために、ビジネスシナリオとして理解することができます。
- ソフトウェア製品:発生するソフトウェアの設計上の問題の特定のタイプのためのソフトウェアフレームワーク。
1.2画像の理解
- 実際には、ソフトウェアフレームワークは、企業として考えることができ、様々な機能部門があり、各部門は、企業の組織構造を形成する部門間の連携による作業を完了するために、その職務を遂行します。
ソフトウェアフレームワークは、あまりにも、しかし、同社は、それがセットアップ市場に結び付けられている、ソフトウェアフレームワークは、ソフトウェアの問題と設計の特定のタイプのために設計されており、その主な目的は、ソフトウェア開発の効率を向上させることです。
各フレームは、ソフトウェア・モジュールで構成され、各モジュールはどこにも特定の機能を持っています。ソフトウェアモジュールとモジュール間の相互協力の開発が完了します。
どのようなソフトウェアフレームへの導入では後、我々は、特定のフレームモードを見てここにMVCフレームワークモードを導入する必要がありますされています。
2 MVC
2.1フレームワーク、デザインパターン、アーキテクチャ
:私は非常にこの問題に悩まされた、我々は次の要約文に関連するテキスト、および多くの経験を見つける
基本的な概念:
フレームは、通常、コードの再利用、
設計パターンがされている再利用するように設計、コードが表現された後にのみインスタンス化することができ、
フレームがある挟ん、コードの再利用の部分、設計の再利用部分、分析はまた、再使用可能であってもよいです。ソフトウェアの生産におけるソフトウェアアーキテクト、青写真計画ソフトウェアの種類、通常の階層は、さまざまなコンポーネント間の関係を描きます。2
比較:
- フレームワークとアーキテクチャ:アーキテクチャ設計いくらか、いくぶん技術的フレームワーク、
フレーム・アーキテクチャに関し、特に複数の特定のビジネスシナリオに焦点を当てよりも、アーキテクチャの様々なフレームによって実現されてもよいです。- フレームワークとデザインパターン:デザインパターンは、より抽象的なフレーム要素よりも小さい場合、
フレームワークは、多くの場合、常に(例えばジャンゴのみWeb開発のためのものであるような)特定の応用分野のための1つ以上のデザインパターン、フレームワークを含みます、しかし、同じパターンは、様々な用途に適用されました。一緒に再利用への仕事の両方が、そのための思考は、お互いから学ぶことができます。- 建築とデザインパターン:
デザインモードは、より少ない程度に、特定の問題を解決するために使用され、アーキテクチャのカテゴリに大きいためのアーキテクチャ設計。フレームワークの問題アーキテクチャをもたらすために複数の設計パターンを表示されることがあります。
この順序で論理的思考:
プロジェクトをやって、最初は、アーキテクチャを設計し、その後、再び何のフレームワークやデザインパターンの使用を検討する必要があります。しかし、通常遭遇は、フレームワークやデザインパターンの数で十分で、特に複雑なシステムではありません。3
2.2過去と現在
2.2.1過去
(1)モデル(テンプレート)-View(ビュー)-controller(制御装置)
- 第一は、従来の入力(INPUT)、加工(処理)、出力(出力)相互作用するように設計されたグラフィカル・ユーザー・タスク・モデルに適用するデザインパターン、です。
- その後、MVCの考え方は、Web MVCフレームワークとして知られている、ウェブの開発に適用されます。
(2)
:MVCの概念生成分業します。特別なことを行うための特別な人をしてみましょう。
MVCの核となるアイデア:デカップリング。異なるコードブロックの間の結合を低減させる、コードが移植性と拡張性、下位互換性を高めることができます。
2.2.2生活
(1)ウェブMVC図フレーム
(2)特定の機能
- メイン層パッケージのデータベースへのアクセス、追加するデータベース内のデータ、削除、変更、検索操作:Mは綴りモデルです。
- ビューのVスペル:結果を包装するため、コンテンツ生成されたHTMLページが表示されます。
- Cはスペルコントローラーです:リクエストを受信するための手段、ビジネスロジックの処理、モデルビューと相互作用して、結果が返されます。
導入関連する基本的な概念の後、以下Djangoフレームワークは、全体的なロジックと特定のプロセスを理解します:
3 Djangoの全体的なロジック
3.1はじめに
- 主な目的は、簡単で迅速な開発データベース駆動型の Webサイト
- 強調するコードの再利用を、複数のコンポーネントを簡単に「プラグイン」フレームワーク全体へのサービスとして、Djangoは多くの強力なサードパーティ製のプラグインを持っているし、あなたも簡単に自分のツールキットを開発することができます。
- それは強いていスケーラビリティを。
DjangoフレームワークMVCの次のデザインを、固有名詞があります:MVT
3.2 MVT
(1)ジャンゴMVT図フレーム
(2)特定の特徴:
- モデルへのMスペル:M機能同じMVCでは、データベース、データ処理との相互作用の原因です。
- ビューのVスペル:MVCで同様の機能を持つCは、要求を行うサービス処理戻る応答を受信します。
- T全拼为Template:与MVC中的V功能相同,负责封装构造要返回的html。
4 Django项目的构建流程
4.1 搭建环境
问1:
如果在一台机器上,想开发多个不同的项目,需要用到同一个包的不同版本,如果还使用sudo pip3 install 包名称
的命令,在同一个目录下安装或者更新,其它的项目必须就无法运行了,怎么办呢?
答1:使用虚拟环境。
问2:
什么是虚拟环境?
答2:虚拟环境其实就是对真实pyhton环境的复制。
这样我们在复制的python环境中再去安装相应的包就不会影响到真实的python环境了。
通过建立多个虚拟环境,在不同的虚拟环境中开发项目就实现了项目之间的隔离。
4.1.1 虚拟环境安装
(1)首先安装虚拟环境,命令如下:
sudo pip3 install virtualenv #安装虚拟环境
(2)接下来还要安装虚拟环境扩展包,命令如下:
sudo pip3 install virtualenvwrapper #安装虚拟环境包装器的目的是使用更加简单的命令来管理虚拟环境。
(3)修改用户家目录下的隐藏配置文件.bashrc
,在文件最后出添加如下内容:
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
(4)创建python3虚拟环境的命令如下:
mkvirtualenv -p python3 虚拟环境名称
例:
mkvirtualenv -p python3 test1_py3
综述:
创建成功后,会自动工作在这个虚拟环境上。
创建虚拟环境需要联网。
工作在虚拟环境上,提示符最前面会出现"(虚拟环境名称)"。
所有的虚拟环境,都位于/home/您的用户名/下的隐藏目录.virtualenvs下。
4.1.2 虚拟环境相关终端语句操作
- 退出虚拟环境:
deactivate
- 查看所有虚拟环境:
workon 两次tab键
- 使用虚拟环境:
workon 虚拟环境名称
删除虚拟环境:
rmvirtualenv 虚拟环境名称
例: 先退出:
deactivate
;再删除:rmvirtualenv py_django
在虚拟环境中可以使用pip命令操作python包:
pip install 包名称
注意:在虚拟环境中不可使用
sudo pip install 包名称
来安装python包
,这样安装的包实际是安装在了真实的主机环境上。查看已安装的python包:
pip list
orpip freeze
这两个命令都可已查看当前工作的虚拟环境中安装了哪些python包,只是显示的格式稍有不同。
安装django包:
pip install django==1.8.2
如果前面删除过虚拟环境py_django,则需要先创建一下,否则直接安装django包即可。
4.1.3 自我总结
- 在为了避免在正式环境下创建多个项目而导致相关安装包的冲突,从而进行虚拟环境安装后,我们就可以在我们安装的的虚拟环境中进行Django项目的创建了。
逻辑关系上是我们可以根据我们的需求创建多个虚拟环境,而在每个虚拟环境下我们就可以进行相关Django项目的创建
在不同的虚拟环境下我们可以自由的根据该虚拟环境下Django项目的需要进行相关包的安装,这样就解决了前文所说的同一个包不同版本之间的替代问题。
下面就介绍下Django项目的创建:
4.2 创建Django项目
强调一下,创建Django项目前:
一是要在正确的虚拟环境中间(即要进入4.1步骤中已经创建好的虚拟环境中);
二是方便后期相关文件管理,我们最好创建该项目的专属文件夹。
4.2.1 创建Django的命令
创建项目的命令如下:
django-admin startproject 项目名称
例:
django-admin startproject test1
4.2.2 Django项目默认目录说明
进入4.2.1创建的Django项目test1目录,查看目录树形结构
manage.py
是项目管理文件,通过它管理项目。- 与项目同名的目录,此处为
test1
。 _init_.py
是一个空文件,作用是这个目录test1可以被当作包使用。settings.py
是项目的整体配置文件。urls.py
是项目的URL配置文件。wsgi.py
是项目与WSGI兼容的Web服务器入口。
在django中,项目的组织结构为一个项目包含多个应用,一个应用对应一个业务模块。下面对应用进行介绍:
4.3 创建Django项目下的应用
Django中对于应用的操作分为创建和安装,下面分别介绍:
4.3.1 应用的创建
创建应用的命令如下:
python manage.py startapp 应用名
例如:
python manage.py startapp test_app
应用默认目录说明:
_init.py_
是一个空文件,表示当前目录booktest可以当作一个python包使用。tests.py
文件用于开发测试用例,在实际开发中会有专门的测试人员,这个事情不需要我们来做。models.py
文件跟数据库操作相关。views.py
文件跟接收浏览器请求,进行处理,与M和T进行交互,返回页面相,定义处理视图函数。admin.py
文件跟网站的后台管理相关。migrations
文件夹之后给大家介绍。
应用创建成功后,需要安装才可以使用,也就是建立应用和项目之间的关联;
4.3.2 应用的安装
建立应用和项目之间的联系,需要对应用进行注册。
修改settings.py
中的INSTALLED_APPS
配置项。
4.4 运行服务器
通过上面的一些了操作,就可以使用django提供的一个纯python编写的轻量级web服务器,仅在开发阶段使用。
运行服务器命令如下:
python manage.py runserver ip:端口
例:
python manage.py runserver
あなたは、IPとポート、IPは127.0.0.1、8000のデフォルトポートでデフォルトを書き込むことはできません。