django知识分支
1.Cookie工作流程:
浏览器向服务器发出请求,服务器接收到浏览器的请求进行处理,服务器设置一个cookie发送给浏览器,浏览器将cookie保存,当需要再次登录的时候,浏览器将本地的cookie发送给服务器,进行数据交互 Session工作流程: 浏览器向服务器发送请求,服务器接收到浏览器的请求进行处理,服务器设置一个session的key值发送给浏览器,浏览器接收到服务器发送的key,保存在cookie中,当需要再次访问服务器的时候,给服务器发送session的key,进行数据交互 区别: 安全性-cookie直接保存的数据不安全,因为每次发送请求,都会把request中的信息全部发送出去,而session保存的是一个key值,这就充分的保证了数据的安全性 性能:将数据保存在cookie可以降低资源的占用,如果将数据保存在session中将会占用大量的资源,造成资源浪费
2.编写代码完成 一个代码时间消耗装饰器
代码语言:javascript复制 exp: 有方法a,与方法b, 编写装饰器能够实现方法a,方法b的时间开销
提交代码
import time def x(z): def c(): time.clock() z() print(time.clock()) return c @x def fun1(): s=0 for i in range(1,1000): return print("/xxx") @x def fun2(): s=0 for i in range(1,1000): return print("xqqx") fun1() fun2()
3.查看Django源码 说明 HttpResponse,HttpResponseRedirect,JsonResponse 类之间的关系
HttpResponse:是django的方法,返回格式为HttpResponse(content=响应体,content_type=响应体类型,status=状态码),可以修改返回的数据类型 HttpResponseRedirect:当post提交数据之后,可以使用HttpResponseRedirect跳转到另一个页面,而不是使用HttpResponse跳转 JsonResponse:是httpResponse的子类,适用于处理json格式的数据,但是不能返回模板
4.说明django.shortcuts中简写函数的使用如render,至少5个
render:快速调用模板 eg:render(request, 'poll/deatil.html', {"testtitle": testtitle}) render_to_response:第一个参数必须是要使用的模板名称。如果要给定第二个参数,那么该参数必须是为该模板创建 Context 时所使用的字典。如果不提供第二个参数,render_to_response() 使用一个空字典 eg:reder_to_response(“模板名字”,{}) redirect:快速重定向 eg: redirect(reverse(‘polls:result’, args = (id,) )) get_object_or_404:查找对象 如果出异常就返回404页面 eg:get_object_or_404(模型类名,查找条件) get_list_or_404:查找列表 如果出异常就返回404页面 eg:get_list_or_404(模型类名,查找条件) resolve_url:函数resolve,path表示url,作用:从url得到相互映射的url_name eg:resolve(to,*args,**kwargs) _get_queryset:该方法可以返回一个量身定制的对象列表
5.编写代码实现通用视图函数View的get与post接口
一个简单的通用视图函数类 from django.views. generic import View from django.shortcuts import render class Index(View): def get(self,request,id): print(id) return render(request, 'polls/index.html', {}) def post(self,request,id): print(id) return render(request, 'polls/index.html', {})