python_Day5_web开发(下)
2019.5.27
?
學習內容:MVC
########################################################################################
?
1.WSGI是web app開發的一個接口,針對每個HTTP請求進行響應。(不再管TCP連接、HTTP原始請求和響應格式)
?
2.web框架處理WSGI的函數,我們專注用URL+處理函數(方便維護):Flask、Django
?
-
Django功能大而全,Flask只包含基本的配置 Django的一站式解決的思路,能讓開發者不用在開發之前就在選擇應用的基礎設施上花費大量時間。Django有模板,表單,路由,認證,基本的數據庫管理等等內建功能。與之相反,Flask只是一個內核,默認依賴于兩個外部庫: Jinja2 模板引擎和 Werkzeug WSGI 工具集,其他很多功能都是以擴展的形式進行嵌入使用。
-
Flask 比 Django 更靈活 用Flask來構建應用之前,選擇組件的時候會給開發者帶來更多的靈活性 ,可能有的應用場景不適合使用一個標準的ORM(Object-Relational Mapping 對象關聯映射),或者需要與不同的工作流和模板系統交互。
?
?
3.MVC:Model-View-Controller,中文名“模型-視圖-控制器”:
Web App最復雜的部分就在HTML頁面。HTML不僅要正確,還要通過CSS美化,再加上復雜的JavaScript腳本來實現各種交互和動畫效果。使用模板,我們需要預先準備一個HTML文檔,這個HTML文檔不是普通的HTML,而是嵌入了一些變量和指令,然后,根據我們傳入的數據,替換后,得到最終的HTML,發送給用戶。
Python處理URL的函數就是C:Controller,Controller負責業務邏輯,比如檢查用戶名是否存在,取出用戶信息等等;
包含變量{{ name }}的模板就是V:View,View負責顯示邏輯,通過簡單地替換一些變量,View最終輸出的就是用戶看到的HTML。
Model是用來傳給View的,這樣View在替換變量的時候,就可以從Model中取出相應的數據。
通過MVC,我們在Python代碼中處理M:Model和C:Controller,而V:View是通過模板處理的,這樣,我們就成功地把Python代碼和HTML代碼最大限度地分離了。
模板改起來很方便,而且,改完保存后,刷新瀏覽器就能看到最新的效果。
?
常見模塊:jinja2(模仿Django)、Django、Mako、Cheetah
?
轉載于:https://www.cnblogs.com/marvintang1001/p/10930584.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的python_Day5_web开发(下)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: beacon帧字段结构最全总结(三)——
- 下一篇: windows下python虚拟环境vi