django可自動實現web應用的通用功能,減少編碼工作量,「不重複造輪子」是該框架的設計理念。
django是乙個非常優秀的web開發框架,可以快速構建高效能、安全、可維護、介面優秀的**,django負責處理**開發中麻煩的部分,是程式設計師可以專注於編寫應用程式業務邏輯**,而無需重新開發web應用的通用功能,這就是所謂「不重複造輪子」。
django開發優勢:
1. 功能完備:開箱即用的功能,這些功能可以無縫結合,並遵循一致性設計原則。django有完善的orm、強大的路由對映功能、完善的檢視模板的實現、強大的快取支援等。
2. django可以構建多種型別的**,可以與許多客戶端框架一起工作,支援並且可以提供多種格式的內容,如html、rss(really ****** syndication,簡單資訊整合)、json、xml等格式的內容。
3. 安全:django能夠自動保護**,避免許多常見的安全錯誤。
4. 可移植。
5. 自助管理後台:django擁有乙個強大的django admin管理後台,使用者幾乎不用寫**就擁有乙個完整的後台管理頁面。
mvc(model-view-controller)設計模式的概念存在時間長,也比較流行,所謂的mvc就是把web應用分為模型(model)、檢視(view)和控制器(controller)3層,他們之間以松耦合的方式連線在一起。mvc的通用解釋是採用透明的資料訪問方式,然後單獨劃分一層來顯示資料,並且加上乙個控制它的層:
1. 模型代表資料訪問層,它提供資料獲取的介面,使模型從資料庫中獲取資料時,無需了解不同資料庫取得資料的方式。模型通常會為資料庫提供一層抽象與封裝,這樣無需更改**就能使用不同的資料庫。
2. 檢視代表介面,是模型的表現層,決定在應用中顯示什麼和怎麼顯示。
3. 控制器負責業務邏輯,通過程式邏輯判斷模型決定從資料庫中獲取什麼資訊,以及把什麼資訊傳給檢視。
django也稱得上遵守mvc設計模式,但他還有自己的特點,它的設計模式常被稱作mtv設計模型。m指的是資料模型(model),t指的是模板檔案(template),v指的是檢視函式(view)以及與它有密切關係的url配置:
1. 模型:用來定義資料結構的類,並提供資料庫表管理機制,主要用來定義欄位的名稱、型別、字段最大值、預設值、約束條件等。
舉例:
from django.db import models
#在此處編寫資料模型**
#員工資料模型(員工資料表)
class employee(models.model):
#員工姓名
name = models.charfield(max_length=32,verbose_name="姓名")
#員工郵箱
email = models.emailfield(verbose_name="郵箱")
}
模板檔案輸出指定文件的結構,佔位符用於表示在生成頁面時填充的資料。在以上**中,}稱為模板變數,是乙個佔位符,檢視函式可以用render()把變數hello傳過來,在頁面上顯示時會用變數的實際值替換}。
3. mtv的 v 包含檢視函式以及與它有密切關係的url配置。
檢視函式:是乙個處理web請求的函式,它接收http請求,經過一番處理,返回http相應。也就是檢視函式接收請求後,到資料模型裡拿到客戶端需要的資料,把資料以一定的格式傳遞給模板檔案,然後django把模板檔案以http響應格式傳送給瀏覽器。下面是一段檢視函式的**:
#匯入http相關模組
#前面可以有向資料模型請求資料的**
#返回響應
return httpresponse('hello world!')
檢視函式要求必須接受乙個httprequest物件作為引數並返回httpresponse物件,以上**只是返回了乙個字串。
例如以上**,通過 from django.http import httpresponse 匯入了 httpresponse,就可以在檢視函式中使用 httpresponse() 函式了。
url配置:建立url與檢視函式對應關係,相當於url對映器,主要作用是根據瀏覽器(客戶端)的url,將http請求重定向到相應的檢視函式進行處理。以下是一段url配置的**:
from django.contrib import admin
from django.urls import path
from django import views
urlpatterns = [
path('admin/',admin.site.urls),
path('hello/',views.hello),
]
url配置一般儲存在名為urls.py 的檔案中。在以上示例中,urlpatterns定義了特定url表示式和相應檢視函式之間的對映列表,如果接收到具有指定模式匹配的url的http請求,則將呼叫相關聯的檢視函式(例如views.hello)並傳遞請求。 Django基本知識
建立專案 pycahrm 啟動pycharm 點綠三角啟動 可配置 簡單使用 在urls.py中 匯入 函式def url和函式對應關係 urlpatterns url r admin admin.site.urls url r index index static url static 別名sta...
Oracle 基本知識
乙個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率,只應存放資料字典 每個資料庫最少有兩個聯機日誌組,每組最少乙個聯機日誌檔案 乙個資料...
Oracle 基本知識
乙個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率 每個資料庫最少有兩個聯機日誌檔案 乙個資料檔案只能屬於乙個表空間 乙個資料檔案一旦被...