1web应用2c/s和bs架构3python中的web框架a:socketb:路由跟视图函数匹配关系c:模板渲染django:a:用了别人的wsgirefb:自己写的c:自己写的flask:a:用了别人的b:自己写的c:用了别人的:jinja2tornado:a自己写的b:自己写的c:自己写的4http协议:-特点:1基于TCP/IP协议之上的应用层协议2基于请求-响应模式3无状态保存4短连接-请求格式:-响应格式:5django的安装和简单使用-安装:1pip3installdjango==1.11.92pycharm下安装,选择版本号-使用:命令创建项目:django-adminstartproject项目名字创建app:python3manage.pystartappapp01-文件目录介绍:-manage.py---项目入口,执行一些命令-项目名-settings:全局配置信息-urls:总路由,请求地址跟视图函数的映射关系-app名字-migrations:数据库迁移的记录-models.py数据库表模型-views视图函数-运行项目:pytyon3manage.pyrunserver127.0.0.1:80016补充:1decode和encodedata=b'111111'data=str(data,encoding='utf-8')print(type(data))data=bytes(data,encoding='utf-8')print(type(data))2pymysql链接数据库#拿到数据库链接conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',db='db2',password='mariadb.123')#获得游标,并且查询结果数据是字典格式cur=conn.cursor(pymysql.cursors.DictCursor)#执行sqlcur.execute('select*fromuser')#获取全部查询结果dic=cur.fetchall()3以后写项目:1不要用中文2计算机名不能用中文3一个工程,就是一个项目7作业:1上课讲的内容整理到博客上2django下载下来,跑起来3单表的图书管理系统图书的增删改查一个book表idnamepriceauthorpublish所有人都必须完成:查

认识web框架:

my_django.py

importsocketserver=socket.socket()server.bind(('127.0.0.1',8001))server.listen(5)whileTrue:conn,client_address=server.accept()data=conn.recv(1024)#等客户端连接进来以后,回给客户端消息conn.send(b'HTTP/1.1200OK\r\nContent-Type:text/html\r\n\r\n')print(data)#conn.close()#把上面的二进制格式转换成下面的字符串类型,不需要再记住是用encode还是用decodedata=str(data,encoding='utf-8')#如何把字符串类型转换成二进制类型#b1=bytes(data,encoding='utf-8')position=data.split('\r\n')[0].split('')[1]if'/index'==position:withopen('index.html','rb')asf:da=f.read()conn.send(da)else:conn.send(b'404')conn.close()

请求与响应格式

'''

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(同级目录下即可)

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title></head><body><h2>h2</h2><h3>h3</h3><imgsrc="http://img4.imgtn.bdimg.com/it/u=1565006133,780611353&fm=26&gp=0.jpg"></body></html>