您好,登錄后才能下訂單哦!
1 web 應(yīng)用 2 c/s 和bs架構(gòu) 3 python中的web框架 a :socket b:路由跟視圖函數(shù)匹配關(guān)系 c:模板渲染 django: a: 用了別人的wsgiref b:自己寫的 c:自己寫的 flask: a:用了別人的 b:自己寫的 c:用了別人的:jinja2 tornado: a 自己寫的 b:自己寫的 c:自己寫的 4 http協(xié)議: -特點:1 基于TCP/IP協(xié)議之上的應(yīng)用層協(xié)議 2 基于請求-響應(yīng)模式 3 無狀態(tài)保存 4 短連接 -請求格式: -響應(yīng)格式: 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ù)的映射關(guān)系 -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') #獲得游標(biāo),并且查詢結(jié)果數(shù)據(jù)是字典格式 cur=conn.cursor(pymysql.cursors.DictCursor) #執(zhí)行sql cur.execute('select * from user') #獲取全部查詢結(jié)果 dic=cur.fetchall() 3 以后寫項目: 1 不要用中文 2 計算機名不能用中文 3 一個工程,就是一個項目 7 作業(yè): 1 上課講的內(nèi)容整理到博客上 2 django下載下來,跑起來 3 單表的圖書管理系統(tǒng) 圖書的增刪改查 一個book表 id name price author publish 所有人都必須完成:查
認(rèn)識web框架:
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()
請求與響應(yīng)格式
'''
Request Headers
# 請求首行
# GET / HTTP/1.1\r\n
# # 請求頭
# Host: 127.0.0.1:8001\r\n
# Connection: keep-alive\r\n
# Cache-Control: max-age=0\r\n
# Upgrade-Insecure-Requests: 1\r\n
# 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\n
# Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\r\n
# 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>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。