自己开发一个WEB 框架:
WEB框架的本质:
1】基于SOCKET :
有请求头和请请求体:
-请求头 \r\n
-请求体 \r\n\r\n
(浏览器:SOCKET客户端 )
(博客园 (SOCKET服务端 )
2】HTTP协议:
HTTP是无状态,短连接的。(客户发送一个请求,服务端响应,这个连接立即断开),与TCP不一样,TCP客户端 连接上,这个连接不会断开,有三次握手,四次挥手。
3】数据库 {pymysql,sqlalchemy}
django总结:
1、创建project
2、配置
- templates 目录
-模板路径
TEMPLATES
- 静态路径配置
- static 目录
-STATIC_URL=‘/static’
3、url对应关系
def login(request):
request.method
request.GET ,从请求头中拿的值
GET 请求的时候只有request.GET 里有值
request.POST ,从请求体中拿的值
return HttpResponse(..)
return render(request,’login.html’),
return redirect(‘要跳转的网址或页面’),
5、return redner 中传的值是 模板引擎中的特殊标记
login.html
def login(request):
return
例 :
url 文件:
2、
3、
4、
访问:
index:
example 2:
框架之标记中带个循环:
django创建启动步骤:
django-admin startproject ProjectName
Python manage.py runserver 127.0.0.1:8080
django配置:
settings.py #django配置文件
url.py #路由系统 url
wsgi.py # 用于定义django 用socket
访问时输入完整的URL,
url.py中如何路由主页面的,浏览器输入框输入,写的不是HTML
Django 记要
- templates 配置
- static 配置路径
- 创建app与manage.py同一级,并在app目录下创建views.py
- 静态 文件创建 与manage.py同一级 ,在里面写html标签 与app的views完成渲染
- views.py写完程序逻辑后,在project下的url.py 路由 好
练习:
写一个教师表的增删改 功能页面,要求在修改或添加时,有模态对话框的效果。
代码连接
SQL语句重复解决:
If else : 判断
2、Views 中对用户提交验证判断的库 From
未完成、、、、、、、
3、模态对话框
-FORM 表单提交
页面会刷新:原因:FORM表单的特性决定
###就不能判断用户是否输入了空值,所以不能用FORM 表单
###需要用AJAX:在页面不刷新的情况下,将数据传到后台。
4、AJAX
提交成功后,需要等服务端处理完成。
5、ajax总结
配合jquery
$.ajax({
url:’要提交的地址’,
type:’POST’,
data:{“k1”:’v1”,”k2”:”v2”}
})
其它总结:
1、模板语言 if 条件语句:
2、FORM表单提交,页面不会刷新
3、AJAX提交页面不刷新
4、js实现页面跳转:
location.href=‘要跳转的地址’
5、
模态对话框(ajax)
- 少量输入框
- 数据少
- 例如:登录常都用对话框
新URL方式
-数据大,操作多
- 对于大量的数据以及操作
作业:
1、班级表的AJAX删除2、班级的AJAX编辑
作业:
一对多【新URL,对话框】 ***先做
多对多(老师与班级的关系表)【新URL,对话框】