list=BookInfo.books.filter(id=1)
让相应的函数进行信息处理
2 视图就是在View中定义的函数 试图函数的参数必须包含HttpRequest实例,必须返回一个HttpResponse对象
3.3 400错误 语法错误
(6)session: url携带的session信息
5.2 如果浏览器发起ajax请求时,服务器就需要返回json数据
浏览器发送请求-->url匹配返回模板-->渲染模板,加载jquery文件绑定点击事件-->
-->点击按钮使用get发送ajax请求-->view匹配url,处里请求返回数据-->客户端使用get的回掉函数填充数据
6 重定向
6.1 完成一项操作后条状页面,这里的跳转是服务器完成的跳转,不需要用户操作
6.2 django提供了HttpResponseRedirect对象来实现重定向功能,状态码是302
6.3 django也提供了简写函数 redirect,在django.shortcuts模块中
7 状态保持
7.1 浏览器请求服务器是无状态的,无法知道用户之前做过什么,有时需要用户的浏览状态,比如是否登陆
7.2 实现状态保持有两种方式:在客户端使用cookie 在服务器端使用session
7.3 cookie
(1)cookie 会记录用户的基本信息,浏览器会把它保存到某一个目录下
(2) 下次用户发送请求时会带上cookie信息,服务器会根据cookie识别用户是否合法以及是否需要重新登录
(3)cookie以键值对的格式进行信息的储存
(4)常用cookie推送广告,记住用户名,购物网站的购物车
7.4 session
(1) session是把保存敏感数据,重要信息保存在服务器端
(2) 它依赖于cookie,服务器保存session数据时cookie必须保存一个session的信息
(3)存储session时,session的id必须与cookie中的sessionid相同
(4)设置过期时间 set_expiry(value)这是个方法,直接调用,value为None表示django自带的最大时间,
如果为0表示浏览器关闭就过期
Template模板
1 模板实现了逻辑处理view和现实内容的template的分离,一个试图可以调用任意模板,一个模板可供多个view使用
2 模板包含两个部分:静态部分,包含html。css 。js。。 动态部分 模板语言
2.1 模板语言 简写DTL
(1)变量:{{变量}}
(2)标签:{%代码段%}
(3)过滤器:变量|过滤器:参数
(4)注释:{#...#}
3 模板继承,主要应用网站头部,尾部信息
3.1父模版
{%block 名称%}
预留区域,可以编写默认内容,也可以没有默认内容
{%endblock 名称%}
3.2 子模板 继承父模板
第一行{% extends 父模板名称%}
填充父模板预留的区域
{%block 名称%}
实际填充内容
{{block.super}} 用来调用复模版中的内容
{%endblock 名称%}
4 html转义,浏览器会对html标签自动转义,类似论坛里面用户输入的html这时候就不能转义
4.1关闭转义
(1){{不用转义的变量名|safe}}
(2)设置一段代码都禁用转义
{%aurosescape off%}
。。。。
{%endautoescape%}
5 反向解析:设置url的时候定义一个“name=”在设置主url的时候定义一个命名空间
主要url:
格式return redirect(reverse('booktest:fan', kwargs={'id':100,'age':18}))
view视图里面的url
反向解析格式的重定向
renturn redirect(reverse(‘users:register’))