1. 程式人生 > >Django之Django簡介,開發環境搭建,專案應用建立

Django之Django簡介,開發環境搭建,專案應用建立

軟體及Django框架簡介

軟體框架

  • 一個軟體框架是由其中各個軟體模組組成的;
  • 每一個模組都有特定的功能;
  • 模組與模組之間通過相互配合來完成軟體的開發。

軟體框架是針對某一類軟體設計問題而產生的。

 

MVC框架

施樂公司 帕羅奧多研究中心 smalltalk語言 simula 67
軟體設計模式:

  • MVC的產生理念: 分工。讓專門的人去做專門的事--輸入,處理,輸出
  • MVC的核心思想: 解耦。

 

通過瀏覽器註冊使用者資訊理解MVC框架。

 

  • M: Model,模型, 和資料庫進行互動;
  • V: View,檢視, 產生html頁面;
  • C: Controller,控制器, 接收請求,進行處理,與M和V進行互動,返回應答。

 

MVT簡介

Django 勞倫斯出版集團 新聞內容網站。Python--->MVC
快速開發和DRY原則。Do not repeat yourself.不要自己去重複一些工作。

通過瀏覽器註冊使用者資訊理解MVT框架。

 

  • M:Model,模型, 和MVC中M功能相似,和資料庫進行互動;
  • V: View,檢視, 和MVC中C功能相似,接收請求,進行處理,與M和T進行互動,返回應答;
  • T: Template,模板, 和MVC中V功能相同,產生HTML頁面。

 

Django簡介

Django,發音為[`dʒæŋɡəʊ],是用python語言寫的開源web開發框架,並遵循MVC設計。

勞倫斯出版集團為了開發以新聞內容為主的網站,而開發出來了這個框架,於2005年7月在BSD許可證下發布。這個名稱來源於比利時的爵士音樂家DjangoReinhardt,他是一個吉普賽人,主要以演奏吉它為主,還演奏過小提琴等。

由於Django在近年來的迅速發展,應用越來越廣泛,被著名IT開發雜誌SDTimes評選為2013SDTimes100,位列"API、庫和框架"分類第6位,被認為是該領域的佼佼者。

Django的主要目的是簡便、快速的開發資料庫驅動的網站。它強調程式碼複用,多個元件可以很方便的以"外掛"形式服務於整個框架,Django有許多功能強大的第三方外掛,你甚至可以很方便的開發出自己的工具包。這使得Django具有很強的可擴充套件性。它還強調快速開發和DRY(DoNotRepeatYourself)原則。

django官方網站:https://www.djangoproject.com/
django原始碼:https://github.com/django/django

Django框架遵循MVC設計,並且有一個專有名詞:MVT框架。

 

 

Django開發環境搭建

虛擬環境的安裝

  • 之前安裝python包的命令: sudo pip3 install 包名;
  • 包的安裝路徑:/usr/local/lib/python3.5/dist-packages;
  • 安裝同一個包的不同版本,後安裝的包會把原來安裝的包覆蓋掉。這樣,如同一臺機器上兩個專案依賴於相同包的不同版本,則會導致一些專案執行失敗。
  • 解決的方案就是:虛擬環境。
  • 虛擬環境是真實python環境的複製版本。
  • 在虛擬環境中使用的python是複製的python,安裝包也是安裝在複製的python中。

 

安裝虛擬環境的命令:
1)sudo pip install virtualenv #安裝虛擬環境
2)sudo pip install virtualenvwrapper #安裝虛擬環境擴充套件包
3)編輯家目錄下面的.bashrc檔案,新增下面兩行。

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

4)使用source .bashrc使其生效一下。

示例:

python@ubuntu:~$ pwd
/home/python
python@ubuntu:~$ vi .bashrc

// 新增上面兩行內容
python@ubuntu:~$ source .bashrc

python@ubuntu:~$ mkvirtualenv -p python3 cp15
(cp15) python@ubuntu:~$ deactivate
python@ubuntu:~$ workon cp15
(cp15) python@ubuntu:~$ pip install django==1.8.2

 

 虛擬環境的建立和使用

建立虛擬環境命令:mkvirtualenv 虛擬環境名
建立python3虛擬環境:mkvirtualenv -p python3 cp15
進入虛擬環境工作:workon 虛擬環境名
檢視機器上有多少個虛擬環境:workon 空格 + 兩個tab鍵
退出虛擬環境:deactivate
刪除虛擬環境:rmvirtualenv 虛擬環境名


虛擬環境下安裝包的命令:pip install 包名
注意:不能使用sudo pip install 包名,這個命令會把包安裝到真實的主機環境上而不是安裝到虛擬環境中。
  apt-get install 軟體
  pip install python包名
安裝django環境:pip install django==1.8.2

檢視虛擬環境中安裝了哪些python包:
  pip list
  pip freeze(和list的區別在於會少幾個包,在網站上線的時候會使用該命令)

注意,在虛擬環境中編輯和建立檔案不只是放在虛擬環境中,外部也有,虛擬環境只是決定那些包安裝在哪。
建立虛擬環境時,虛擬機器要聯網。

 

Django專案和應用建立

專案建立

建立專案命令:

django-admin startproject 專案名

注意:建立應用必須先進入虛擬環境。

 

專案目錄及作用如下:

__init__.py: 說明test1是一個python包。
settings.py: 專案的配置檔案;
urls.py: 進行url路由的配置;
wsgi.py: web伺服器和Django互動的入口;
manage.py: 專案的管理檔案;

 

應用建立

一個專案由很多個應用組成的,每一個應用完成一個特定的功能。
建立應用命令如下:

python manage.py startapp 應用名

注意:建立應用時需要先進入專案目錄。

應用目錄及作用如下:

__init__.py: 說明目錄是一個python模組;
models.py: 寫和資料庫相關的內容;
views.py: 接收請求,進行處理,與M和T進行互動,返回應答;
定義處理函式,檢視函式。
tests.py: 寫測試程式碼的檔案;
admin.py: 網站後臺管理相關的檔案;

 

建立應用和專案之間的聯絡,需要對應用進行註冊。
修改settings.py中的INSTALLED_APPS配置項。

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    '應用名',
)

 

執行開發web伺服器命令:

python manage.py runserver

 

Django專案和應用建立示例:

python@ubuntu:~$ workon cp15
(cp15) python@ubuntu:~$ mkdir day01
(cp15) python@ubuntu:~$ cd day01

(cp15) python@ubuntu:~/day01$ django-admin startproject test1
(cp15) python@ubuntu:~/day01$ ls
test1
(cp15) python@ubuntu:~/day01$ cd test1/
(cp15) python@ubuntu:~/day01/test1$ tree
(cp15) python@ubuntu:~/day01/test1$ ls
manage.py test1

(cp15) python@ubuntu:~/day01/test1$ python manage.py startapp booktest
(cp15) python@ubuntu:~/day01/test1$ ls
booktest manage.py test1
(cp15) python@ubuntu:~/day01/test1$ cd booktest/
(cp15) python@ubuntu:~/day01/test1/booktest$ tree
.
├── admin.py
├── __init__.py
├── migrations
│   └── __init__.py
├── models.py
├── tests.py
└── views.py

1 directory, 6 files

// 使用pycharm開啟home/python/cp15/test1,在settings檔案進行應用註冊
(cp15) python@ubuntu:~/day01/test1$ python manage.py runserver

以後所有利用虛擬環境開發的專案,要在命令列對專案進行改動,都要先進入虛擬環境下再操作。

&n