Python實戰-編寫Web App-Day7-構建MVC

先說明下什麼是MVC,MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件裡面,在改進和個性化定製界面及用戶交互的同時,不需要重新編寫業務邏輯。MVC被獨特的發展起來用於映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。現在我們的ORM框架、Web框架和配置都已就緒,編寫一個簡單的MVC,就可以把它們全部啟動起來。

通過Web框架的@get和ORM框架的Model支持,可以很容易地編寫一個處理首頁URL的函數(新建handlers.py進行編寫)

<code>

from

models

import

User

from

coroweb

import

get

import

asyncio

async

def

index

(request)

: users =

await

User.findAll()

return

{

'__template__'

:

'test.html'

,

'users'

: users }/<code>

‘__template__’指定的模板文件是test.html,其他參數是傳遞給模板的數據,所以我們在模板的根目錄templates下創建test.html:

<code> >

<

html

>

<

head

>

<

meta

charset

=

"utf-8"

/>

<

title

>Test users - Awesome Python Webapp

title

>

head

>

<

body

>

<

h1

>All users

h1

> {% for u in users %}

<

p

>{{ u.name }} / {{ u.email }}

p

> {% endfor %}

body

>

html

>/<code>

接下來,如果一切順利,可以運行app.py啟動Web服務器:http://localhost:9000就可以看到一個簡單的首頁了,當然裡面的內容我們現在是放的用戶列表。如果數據庫的users表什麼內容也沒有,你就無法在瀏覽器中看到循環輸出的內容。可以自己在MySQL的命令行裡給users表添加幾條記錄,然後再訪問。


分享到:


相關文章: