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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM