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