python3 web框架(三 MVC與MTV)

2021-08-30 02:39:22 字數 3320 閱讀 6882

上篇:python3 web框架(二、關於web框架理解)

我們已經寫完了乙個簡單的web框架,那麼這裡

def handle_index():

return ["".encode('utf-8')]

返回的內容我們是自已一字串的形式寫出來的,那麼還可以去乙個檔案裡讀取寫好的內容,我們可以這麼操作。

同級目錄下新建乙個名為 index.html 的檔案 

然後我們訪問的之後直接讀取這個檔案就可以了

from wsgiref.******_server import make_server 

def handle_index():

f=open('index.html',mode='rb')

data = f.read()

f.close()

return [data,]

#def handle_hello():

# return ["".encode('utf-8')]

#def handle_data():

# return ["".encode('utf-8')]

#對應關係

但是這樣做的話,我們現在的目錄結構是這個樣子的

#對應關係

url_dict =

#這裡路由改一下

目錄結構

這個時候如果需要寫業務**,就在controller裡新建檔案,如果需要新增模板,往view裡面新增就可以了。

寫到這裡我們發現好像忘記了什麼?——————資料庫

我們在讀完 index.html檔案後 做個替換。

data = data.replace('@abc'.encode('utf-8'),'here is abc'.encode('utf-8'))#假設這裡'here is abc'是資料庫中的資料,我們把@abc替換為這條資料

f.close()

return [data,]

這裡我們沒有進行資料庫操作直接使用的乙個假設的資料來進行替代,實際上如果我們想使用資料庫中的資料還要在handle_index()函式中進行資料庫的操作,但是這樣一來,我們的urls_res.py中的**又會變得很混亂,為了解決這個問題,我們再建乙個資料夾modle, 在modle新建檔案來寫**進行資料庫的操作。

解決的上述問題,我們新建了三個資料夾  modle 、 view 和 controller。

這三個資料夾都有自己相對應的功能modle--資料庫操作、 view--模板檔案 和 controller--業務處理,而他們的首字母合起來就叫 mvc ,這就是mvc,對檔案的分類,對功能的劃分。

而mtv跟mvc 本質上是一樣的,只不過資料夾的名字不一樣,mtv中的m也是modle,進行資料庫操作;t指template ,裡面存放的是模板檔案;v也叫view,但是這裡的view是業務處理。

web框架的本質 python

import socket 建立乙個socket連線 sk socket.socket 繫結ip和埠 sk.bind 127.0.0.1 8888 設定監聽數量 sk.listen 5 while true 獲取資料 conn,addr sk.accept 設定資料最大接受值 data conn.r...

python的web開發框架django學習筆記

1.建立專案 1 開啟命令列,進入想要安置專案的目錄,命令列輸入 django admin.py startproject myblog myblog是你建立專案的專案名稱。注意 如果現示不是內部或者外部命令,這需要想配置環境變數如下 d python27 d python27 lib site p...

Python的web框架Django基礎學習(1

1.首先pip安裝一下 pip install django 1.11.72.可通過pycharm來建立乙個django工程 setting.py中可以小設定一下,例如訪問的ip,語言,時間格式 ip allowed hosts 語言language code zh hans 時區time zone...