一、1基于socket手写web框架
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框架:
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的拉孜网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
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() # 把上面的二进制格式转换成下面的字符串类型,不需要再记住 是用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()
请求与响应格式
'''
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(同级目录下即可)
Title h2
h3
分享名称:一、1基于socket手写web框架
URL分享:http://scyanting.com/article/pcgdoj.html