Django框架入門
標簽: 筆記
1.2 模式簡介
1.2.1 安裝pycham專業版
優點: 專業版功能強大、提示功能;
缺點: **;(1)試用:1個月,**碼(2)**
注意事項:
(1)安裝時,不要安裝中文路徑下,選擇32位
(2)需要**碼。
1.2.2 MVC模式
特點: 可以讓不同的開發人員,一起參與到項目設計。大大提高效率
概念:
MVC 全名是 Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,—老程序員的經驗。 它是一種軟件設計典范,用一種業務邏輯、數據、界面顯示分離的方法來組織代碼,將業務邏輯聚集到一個部件 里面,在改進和個性化定制界面及用戶交互的同時,方便開發者進行開發,且不需要重新編寫業務邏輯。MVC 被廣泛的發展并用于的輸入、處理和輸出在一個邏輯的圖形化用戶界面的結構中,即用于 Web 應用程序的分層 開發。MVC 模式各部分的功能如下:
M | M 是 Model 的簡稱,表示應用程序核心(比如數據庫記錄列表),主要用于封裝對數據庫層的訪 問,即對數據進行增、刪、改、查操作。通常 M 模型對象負責在數據庫中存取數據。 --字段 |
---|---|
V | V 是 View 的簡稱,用作顯示數據(數據庫記錄),主要用于封裝數據結果,并生成頁面展示的 html 內容。通常 V 視圖是依據模型數據創建的。 --顯示頁面 |
C | C 是 Controller 的簡稱,用作處理輸入(寫入數據庫記錄),主要用于接收請求,處理業務邏輯, 與 Model 和 View 進行交互,返回結果。通常 C 控制器負責從視圖中讀取數據,控制用戶輸入, 并向模型發送數據。 |
案例:編寫一個基于 MVC 模式的檢驗用戶名與密碼是否成功的案例,要求如下:
(1)用戶名長度為 8-16 位的任意字符內容;
(2)密碼長度為 6-20 位的任意字符內容;
(3)默認登錄驗證時的用戶信息為:user666999、pwd123456; --控制 C/視圖 V
model.py --類: 屬性、基本封裝操作
class UserModel(object):
def __init__(self):
self.__username = ""
self.__password = ""
def set_username(self, name):
self.__username = name
def get_username(self):
return self.__username
def set_password(self, pwd):
self.__password = pwd
def get_password(self):
return self.__password
view.py – 顯示用戶登錄情況
class UserView(object):
def login(self, username, password):
if username == "user666999" and password == "pwd123456":
print("用戶名:%s,密碼:%s,核對成功,已成功登陸!!!" % (username, password))
elif not(8 <= len(username) <= 16):
print("用戶名不符合格式要求!!")
if not (6 <= len(password) <= 20):
print("密碼長度不在范圍內!!")
controller.py --關聯 view、model
class Controller(object):
def __init__(self, model, view):
self.__model = model
self.__view = view
def set_user_username(self, name):
self.__model.set_username = name
def get_user_username(self):
return self.__model.get_username
def set_user_password(self, pwd):
self.__model.set_password = pwd
def get_user_password(self):
return self.__model.get_password
def execute_login(self):
self.__view.login(self.get_user_username(), self.get_user_password())
測試
import view
import controller
import model
def main():
usermodel = model.UserModel()
usermodel.set_username("user666999")
usermodel.set_password("pwd123456")
userview = view.UserView()
# 控制
usercontroller = controller.Controller(usermodel, userview)
usercontroller.execute_login()
if __name__ == '__main__':
main()
1.2.3 MVC模式
MVT Model View Templates 全名是 Model View Template,而 Python 的 Web 開發框架 Django 是屬于 MVT 模式。實際上,Django 的 MVT 模式本質上與 MVC 模式基本沒有什么差別,它也是各組件之間為了保持松 耦合關系,只是定義上有一些不同,Django 的 MVT 分別代表如下:
M | –模型 M 是 Model 的簡稱,與 MVC 中的 M 功能相同,主要用于負責和數據庫交互,進行數據處理。 -->與數據表字段映射,屬性 --XxxModel Bean --models.py |
---|---|
V | –視圖 V 是 View 的簡稱,與 MVC 中的 C 功能相同,主要用于接收請求,負責業務邏輯,并在適當時 調用 Model 和 Template。 --視圖 (視圖類、視圖函數) --views.py |
T | –模板 T 是 Template 的簡稱,與 MVC 中的 V 功能相同,負責封裝并構造要返回的 html。 --前端 |
1.2.4 安裝Django*
打開pycharm,進入Terminal 輸入pip install django==1.11.6
(1)創建項目 django-admin startproject
(2)啟動服務器 進入項目名 python manage.py runserver 端口號
智能推薦
springMVC框架入門
簡單架構 快速搭建 1. 導包 Spring所有包+spring-web spring-springmvc 2. 書寫核心配置文件 (名字無關緊要,建議放在src目錄下) SpringMvc.xml Spring-mvc Spring-servlet.xml 內容:建議...
Spring 框架入門
一.Why 1.Spring框架給你提供了很多現有的功能(IoC、AOP、聲明式事務等、SpringMVC等) 這些功能可以直接拿來用、提高開發效率 2.進一步提高軟件產品的質量 框架是前人對軟件開發經驗的總結,相當于站在巨人的肩膀上,讓一個普通的程序員也能寫出高質量的軟件成品(符合軟件工程的規范,例如高內聚低耦合 OCP等) 不用框架做小的項目沒問題,但是做大的項目就需要框架做強大的支持,這一點...
JQueryEasyUI框架入門
JQueryEasyUI入門 一、JQueryEasyUI簡介 easyui是一種基于jQuery的用戶界面插件集合。 easyui為創建現代化,互動,JavaScript應用程序,提供必要的功能。 使用easyui你不需要寫很多代碼,你只需要通過編寫一些簡單HTML標記,就可以定義用戶界面。 easyui是個完美支持HTML5網頁的完整框架。 easyui節省您網頁開發的時間和規模。 easyu...
mybatis框架入門
1.mybatis框架入門 1.1 mybatis框架的認識: Java的持久層框架 ? 它是ORM(對象關系映射)的框架 Mybatis是一個支撐框架,它以映射sql語句orm方式來數據庫持久化操作. 1.2 mybatis的特點(與jdbc相比) jdbc: 重復性代碼比較多 封裝對象 insert(User user) select 比較麻煩 沒有性能控制 如果要提高效率 需要自己寫緩存 一...
Scrapy框架入門
Scrapy簡介 Scrapy框架是使用Python開發的一個快速、高層次的屏幕抓取和web抓取框架,用于抓取web站點并從頁面中提取結構化的數據。Scrapy用途廣泛,可以用于數據挖掘、監測和自動化測試 Scrapy不僅有單機版,開發者還可以使用其集群版Scrapy-redis開發分布式爬蟲程序,分布式爬蟲有更快的速度和更高的效率 Scrapy用途非常廣泛,用戶只需要定制開發幾個模塊就可以輕松的...
猜你喜歡
ionic框架入門
1.Chocolatey Chocolatey是一個Windows上的包管理器,類似于linux上的yum和apt-get。 你可以在其官方網站上查看具體的使用說明。一般的安裝步驟應該是下面這樣: 一般來說,使用Chocolatey來安裝軟件的時候,需要以管理員的身份來運行命令提示符窗口。譯注:chocolatey的網站可能在國內訪問困難,導致上述安裝命令無法正常完成。請使用穩定的翻...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...