40python就业课件14-django基础和mvt架构05常用06note_第1页
40python就业课件14-django基础和mvt架构05常用06note_第2页
40python就业课件14-django基础和mvt架构05常用06note_第3页
40python就业课件14-django基础和mvt架构05常用06note_第4页
40python就业课件14-django基础和mvt架构05常用06note_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

书籍模型BookInfo一类人物模型PeopleInfo多类查询和BookInfo对象关联的人物信息查询和PeopleInfo对象关联的书籍信息(由1查多)(由多查1)book.peopleinfo_set.all()people.bookidnameidnameparent_ididnameparent_id一对多一对多省表市表区表idnameparent_id地区表省null市省id浏览器Django网站$.get(‘请求地址',function(JSON数据){

});1.发起ajax的get请求defjson_data(request):"""响应JSON数据给ajax"""

returnJsonResponse(json_dict)2.返回json数据ajax请求浏览器Django网站服务器请求login/deflogin(request):#假如登陆成功

returnredirect('')让浏览器访问

重定向浏览器Django网站服务器请求login/deflogin(request):#假如登陆成功

returnredirect(‘/ajax/‘)让浏览器访问302/ajax/浏览器访问/ajax/重定向defajax(request):"""ajax使用json和后端交互页面"""

returnrender(request,'Book/ajax.html')浏览器收到响应判断状态码是否是302如果是302就把响应中的地址打开/ajax/$.get(‘url’,function(){}){Code:8001}Cookie你—浏览器老板—服务器你->老板买豆浆老板给你一个单子设置cookie拿单子找老板要豆浆读取cookie浏览器服务器进行处理把cookie交给浏览器保存把cookie发送给相应网站的服务器请求设置cookie:需要一个HttpResponse类的对象或者是它子类的对象set_cookie用于设置cookieresponse.set_cookie(‘mark’,’hello’)读取cookie:浏览器发给服务器得cookie,保存在request对象的COOKIES属性保存cookie信息保存’{‘mark’:’hello’}’什么是session?你:浏览器俱乐部:服务器俱乐部的电脑是服务器,存储个人隐私信息session卡在你手中:cookie你去办健身卡,你的隐私信息存在俱乐部的电脑中,给你一卡号。浏览器服务器请求设置session信息request.session[‘smart’]=‘yes’{smart:yes}个人隐私信息django_sessionsession_keysession_data唯一标识码俱乐部卡号响应session_key并写入到浏览器中cookie保存sessionid:session_keysessionid:卡号再访问网站获取sessionidcookie的值,服务器根据唯一的标识码去表中获取session数据设置session:request.session[‘smart’]=‘yes’读取session:yes=request.session[‘smart’]SessionSession依赖于Cookie黑客服务器正常用户浏览器请求接受请求处理逻辑渲染页面编写html模板test.htmltest_new.html+html+css+jstest_new.html+html+css+js响应test_new.html+html+css+js浏览器服务器请求转账页面<formaction="/transfer/"method="post"><inputtype="text"name="name"><br><br><inputtype="text"name="money"><br><br><inputtype="submit"value="转账"></form><formaction="/transfer/"method="post"><inputtype="text"name="name"><br><br><inputtype="text"name="money"><br><br><inputtype="submit"value="转账"></form>处理请求渲染转账页面响应转账页面发送转账请求处理转账逻辑没有任何的安全验证zxj这个人要转账name_n=zxjhei_name=zxc浏览器黑客服务器请求转账页面<formaction="/heike/"method="post"><inputtype="text"name="name"><br><br><inputtype="text"name="money"><br><br><inputtype="submit"value="转账"></form><formaction=“/transfer/"method="post"><inputtype="text"name="name"><br><br><inputtype="text"name="money"><br><br><inputtype="submit"value="转账"></form>渲染页面响应转账页面发送转账请求伪造页面和请求处理转账逻辑没有任何的安全验证服务器

<imgsrc=‘’>浏览器服务器请求转账页面<formaction="/transfer/"method="post">{%csrf_token%}<inputtype="text"name="name"><br><br><inputtype="text"name="money"><br><br><inputtype="submit"value="转账"></form><formaction="/transfer/"method="post"><inputtype='hidden'name='csrfmiddlewaretoken'value='d5PrbML76nCJoaDZpZ0wMPJ2MNsMxdOk'/><inputtype="text"name="name"><br><br><inputtype="text"name="money"><br><br><inputtype="submit"value="转账"></form>渲染页面响应转账页面发送转账请求校验csrf_token处理转账逻辑浏览器相当于员工,服务器相当于老板浏览器访问页面(GET),相当于入职,服务器会给浏览器一个识别码浏览器提交数据给服务器(POST),相当于进公司上班,需要带上识别码zxj这个人要转账name_n=zxjhei_name=zxc浏览器黑客服务器请求转账页面<formaction="/transfer/"method="post"><inputtype="text"name="name"><br><br><inputtype="text"name="money"><br><br><inputtype="submit"value="转账"></form><formaction="/transfer/"method="post"><inputtype="text"name="name"><br><br><inputtype="text"name="money"><br><br><inputtype="submit"value="转账"></form>渲染页面响应转账页面发送转账请求伪造页面和请求验证csrf_token验证失败处理转账逻辑失败服务器浏览器服务器请求验证码页面生成验证码保存验证码到session/服务器响应验证码页面发送验证码请求处理验证码逻辑获取客户端发送的验证码获取自己存储的验证码对两者进行比较收到验证码页面输入验证码发送验证码渲染验证码页面响应验证码页面浏览器服务器请求url(r'^fan1/$',fan1)响应浏览器服务器请求响应<ahref=“/fan1/“>跳转到fan1</a>url(r'^',include('Book.urls',namespace='book'))<ahref="{%url'book:fan1'%}">跳转到fan1</a>url(r'^fan123/$',fan1,name='fan1')url(r'^fan123/$',fan1,name='fan1')url标签:根据正则动态生成地址,叫做反向解析常规思路:地址匹配正则

反向解析:url标签根据正则动态生成地址,然后渲染到页面中

浏览器服务器请求url(r’^fan2/(\d+)/$’,fan2)响应浏览器服务器请求响应<ahref=“/fan2/18/“>跳转到fan1</a>url(r'^',include('Book.urls',namespace='book'))<ahref="{%url

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论