1 web 應用 2 c/s 和bs架構 3 python中的web框架 a :socket b:路由跟視圖函數匹配關係 c:模板渲染 django: a: 用了別人的wsgiref b:本身寫的 c:本身寫的 flask: a:用了別人的 b:本身寫的 c:用了別人的:jinja2 tornado: a 本身寫的 b:本身寫的 c:本身寫的 4 http協議: -特色:1 基於TCP/IP協議之上的應用層協議 2 基於請求-響應模式 3 無狀態保存 4 短鏈接 -請求格式: -響應格式: 5 django的安裝和簡單使用 -安裝:1 pip3 install django==1.11.9 2 pycharm 下安裝,選擇版本號 -使用: 命令建立項目:django-admin startproject 項目名字 建立app:python3 manage.py startapp app01 -文件目錄介紹: -manage.py---項目入口,執行一些命令 -項目名 -settings:全局配置信息 -urls:總路由,請求地址跟視圖函數的映射關係 -app名字 -migrations:數據庫遷移的記錄 -models.py 數據庫表模型 -views 視圖函數 -運行項目: 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連接數據庫 #拿到數據庫連接 conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', db='db2', password='mariadb.123') #得到遊標,而且查詢結果數據是字典格式 cur=conn.cursor(pymysql.cursors.DictCursor) #執行sql cur.execute('select * from user') #獲取所有查詢結果 dic=cur.fetchall() 3 之後寫項目: 1 不要用中文 2 計算機名不能用中文 3 一個工程,就是一個項目 7 做業: 1 上課講的內容整理到博客上 2 django下載下來,跑起來 3 單表的圖書管理系統 圖書的增刪改查 一個book表 id name price author publish 全部人都必須完成:查
認識web框架:html
my_django.pypython
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() # 把上面的二進制格式轉換成下面的字符串類型,不須要再記住 是用encode 仍是用decode data = str(data,encoding='utf-8') # 如何把字符串類型轉換成二進制類型 # 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()
請求與響應格式mysql
'''web
Request Headerssql
# 請求首行數據庫
# GET / HTTP/1.1\r\ndjango
# # 請求頭flask
# Host: 127.0.0.1:8001\r\n架構
# Connection: keep-alive\r\napp
# 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> <h1>h1</h1> <h2>h2</h2> <img src="http://img4.imgtn.bdimg.com/it/u=1565006133,780611353&fm=26&gp=0.jpg"> </body> </html>