欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

一、2基于wsgiref定義自己的web框架

目錄結(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://www.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)

成都網(wǎng)頁設(shè)計(jì)公司
国产av一区二区三区中文| 人妻少妇久久中文字幕韩| 欧美小黄片在线免费看| 国产极品嫩模在线观看91| 深夜av免费在线观看| 十八禁真人无摭挡观看| 亚洲国产精品一区二区三| 真实国产熟女一区二区三区| 爱高潮www亚洲精品| 欧美三级高清视频在线播放| 五月激情开心久久婷婷| 日本久久精品免费网站| 青青草日韩视频在线观看| 黄片大全视频在线免费观看| 国产精品高清另类一区二区三区| 亚洲精品在线一二三区| 亚洲av乱码乱码精品| 涩五月婷婷开心中文字幕| 日韩精品一区二区视频大全| 久久综合亚洲鲁鲁五月天| 东京男人的天堂国产av| 日本道加勒比二三五区视频| 国产免费不卡午夜福利在线| 亚洲精品一区二区牛仔裤| 青青草原在线影视一区| 日本一区二区高清网址| 国产丝袜美腿视频亚洲综合| 亚洲香蕉av在线一区二区三区| 欧美大片免费在线播放| 国产亚洲欧美日韩中文字幕| 久久最新视频中文字幕 | 日韩欧美一区二区免费| 国产欧美一区二区另类精品| 成人黄性视频免费网看| 亚洲av日韩综合一区尤物| 日本理论午夜三级在线观看| 未满十八禁止下载软件| 欧美国产日韩一区二区三区视频| 日本 影院 一区 二区| 人妻少妇中文字幕在线播放| 男人的天堂免费看看av|