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\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>
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。