目錄結(jié)構(gòu):除了templates目錄下的html文件,其他文件都是屬于平行關(guān)系
昌圖網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)自2013年創(chuàng)立以來到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
C:.
│ index.html
│ url.py
│ views.py
│ wsgirefServer.py
├───templates
│ index.html
│ test.html
│ time.html
│ user.html
wsgirefServer.py
# make_server : 類似下面的代碼,把這些封裝好以后,成了 make_server # import socket # server=socket.socket() # server.bind(('127.0.0.1',8001)) # server.listen(5) # while True: # conn,client_address=server.accept() # data=conn.recv(1024) from wsgiref.simple_server import make_server # from url import urls # from views import error # env :已經(jīng)把下面這些封裝好以后,把類似my_diango.py 中的'/index' 路徑 從env中取出來即可,這個env 既是字典,也是對像。(把請求頭切分好以后,放進(jìn)字典里面) # data = conn.recv(1024) # conn.send(b'HTTP/1.1 200 OK\r\nContent-Type:text/html\r\n\r\n') from url import urls from views import error def run(env, response): print(env) response("200 ok", [('Content-type', 'text/html')]) position = env['PATH_INFO'] func = None for url in urls: if position == url[0]: func = url[1] break if func: response = func(env) else: response = error(env) return [response.encode('utf-8'), ] if __name__ == '__main__': server = make_server('127.0.0.1', 8003, run) # run 相當(dāng)于一個裝飾器,在run函數(shù)之前做了件事,運(yùn)行run 后,又在run函數(shù)之前做了件事,固定用法 server.serve_forever()
url.py
from views import * urls = [ ('/index', index), ('/time', time), ('/test', test), ('/user', user), ]
views.py
import datetime from jinja2 import Template import pyMySQL def index(env): with open('templates/index.html', 'r') as f: data = f.read() return data def time(env): ctime = datetime.datetime.now().strftime('%Y-%m-%d %X') with open('templates/time.html', 'r') as f: data = f.read() data = data.replace('@@time@@', ctime) return data def error(env): return '404' def test(env): with open('templates/test.html', 'r') as f: data = f.read() tem = Template(data) response = tem.render(user={'name': 's_jun', 'age': 18}) return response def user(env): conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', db='db2', password='mariadb.123') # 獲得游標(biāo),并且查詢結(jié)果數(shù)據(jù)是字典格式 cur = conn.cursor(pymysql.cursors.DictCursor) # 執(zhí)行sql cur.execute('select * from user') # 獲取全部查詢結(jié)果 dic = cur.fetchall() print(dic) with open('templates/user.html', 'r') as f: data = f.read() tem = Template(data) response = tem.render(user_list=dic) return response
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>index</title> </head> <body> <h2>h2</h2> <h3>h3</h3> <img src="http://img4.imgtn.bdimg.com/it/u=1565006133,780611353&fm=26&gp=0.jpg"> </body> </html>
templates目錄下的html文件
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>index</title> </head> <body> <h2>h2</h2> <h3>h3</h3> <img src="http://img4.imgtn.bdimg.com/it/u=1565006133,780611353&fm=26&gp=0.jpg"> </body> </html>
test.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>test</title> </head> <body> {{user.name}} {{user.age}} </body> </html>
time.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>time</title> </head> <body> @@time@@ </body> </html>
user.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <table border="1"> <thead> <tr> <th>id</th> <th>name</th> <th>password</th> </tr> </thead> <tbody> {% for user in user_list%} <tr> <td>{{user.id}}</td> <td>{{user.name}}</td> <td>{{user.password}}</td> </tr> {% endfor %} </tbody> </table> </body> </html>
網(wǎng)頁標(biāo)題:一、2基于wsgiref定義自己的web框架
鏈接分享:http://aaarwkj.com/article28/gjcocp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、Google、網(wǎng)頁設(shè)計(jì)公司、、網(wǎng)站建設(shè)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)