1 web 應用 2 c/s 和bs架構 3 python中的web框架 a :socket b:路由跟視圖函數(shù)匹配關系 c:模板渲染 django: a: 用了別人的wsgiref b:自己寫的 c:自己寫的 flask: a:用了別人的 b:自己寫的 c:用了別人的:jinja2 tornado: a 自己寫的 b:自己寫的 c:自己寫的 4 http協(xié)議: -特點:1 基于TCP/IP協(xié)議之上的應用層協(xié)議 2 基于請求-響應模式 3 無狀態(tài)保存 4 短連接 -請求格式: -響應格式: 5 django的安裝和簡單使用 -安裝:1 pip3 install django==1.11.9 2 pycharm 下安裝,選擇版本號 -使用: 命令創(chuàng)建項目:django-admin startproject 項目名字 創(chuàng)建app:python3 manage.py startapp app01 -文件目錄介紹: -manage.py---項目入口,執(zhí)行一些命令 -項目名 -settings:全局配置信息 -urls:總路由,請求地址跟視圖函數(shù)的映射關系 -app名字 -migrations:數(shù)據(jù)庫遷移的記錄 -models.py 數(shù)據(jù)庫表模型 -views 視圖函數(shù) -運行項目: pytyon3 manage.py runserver 127.0.0.1:8001 6 補充: 1 decode和encode data = b'111111' data = str(data, encoding='utf-8') print(type(data)) data = bytes(data, encoding='utf-8') print(type(data)) 2 pymysql鏈接數(shù)據(jù)庫 #拿到數(shù)據(jù)庫鏈接 conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', db='db2', password='mariadb.123') #獲得游標,并且查詢結果數(shù)據(jù)是字典格式 cur=conn.cursor(pymysql.cursors.DictCursor) #執(zhí)行sql cur.execute('select * from user') #獲取全部查詢結果 dic=cur.fetchall() 3 以后寫項目: 1 不要用中文 2 計算機名不能用中文 3 一個工程,就是一個項目 7 作業(yè): 1 上課講的內(nèi)容整理到博客上 2 django下載下來,跑起來 3 單表的圖書管理系統(tǒng) 圖書的增刪改查 一個book表 id name price author publish 所有人都必須完成:查
認識web框架:
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名與空間、虛擬主機、營銷軟件、網(wǎng)站建設、龍泉驛網(wǎng)站維護、網(wǎng)站推廣。my_django.py
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) # 等客戶端連接進來以后,回給客戶端消息 conn.send(b'HTTP/1.1 200 OK\r\nContent-Type:text/html\r\n\r\n') print(data) # conn.close() # 把上面的二進制格式轉(zhuǎn)換成下面的字符串類型,不需要再記住 是用encode 還是用decode data = str(data,encoding='utf-8') # 如何把字符串類型轉(zhuǎn)換成二進制類型 # b1=bytes(data,encoding='utf-8') position=data.split('\r\n')[0].split(' ')[1] if '/index' == position: with open('index.html','rb') as f: da=f.read() conn.send(da) else: conn.send(b'404') conn.close()
請求與響應格式
'''
Request Headers
# 請求首行
# GET / HTTP/1.1\r
# # 請求頭
# Host: 127.0.0.1:8001\r
# Connection: keep-alive\r
# Cache-Control: max-age=0\r
# Upgrade-Insecure-Requests: 1\r
# User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36\r
# Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\r
# Accept-Encoding: gzip, deflate, br\r\nAccept-Language: zh-CN,zh;q=0.9\r\n\r\n'
# # 請求體
Response
'''
index.html(同級目錄下即可)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</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>
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享文章:一、1基于socket手寫web框架-創(chuàng)新互聯(lián)
文章起源:http://jinyejixie.com/article2/ddeeoc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、網(wǎng)站建設、做網(wǎng)站、動態(tài)網(wǎng)站、網(wǎng)站排名、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容