django知识分支

1.Cookie工作流程:

浏览器向服务器发出请求,服务器接收到浏览器的请求进行处理,服务器设置一个cookie发送给浏览器,浏览器将cookie保存,当需要再次登录的时候,浏览器将本地的cookie发送给服务器,进行数据交互

Session工作流程:

浏览器向服务器发送请求,服务器接收到浏览器的请求进行处理,服务器设置一个session的key值发送给浏览器,浏览器接收到服务器发送的key,保存在cookie中,当需要再次访问服务器的时候,给服务器发送session的key,进行数据交互

区别:

安全性-cookie直接保存的数据不安全,因为每次发送请求,都会把request中的信息全部发送出去,而session保存的是一个key值,这就充分的保证了数据的安全性

性能:将数据保存在cookie可以降低资源的占用,如果将数据保存在session中将会占用大量的资源,造成资源浪费

2.编写代码完成 一个代码时间消耗装饰器

	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', {})

最新文章

  1. [xsd学习]xsd基本要素
  2. java多态例子
  3. 位图引起的内存溢出OutOfMemory解决方案
  4. mysql优化:连接数
  5. [转]常用的130个vim命令
  6. 在Global.asax文件里实现通用防SQL注入漏洞程序(适应于post/get请求)
  7. [读书心得] .NET中 类型,对象,线程栈,托管堆在运行时的关系
  8. Bilibili/DanmakuFlameMaster: Android开源弹幕引擎·烈焰弹幕使 ~ JNI source:Bilibili/NativeBitmapFactory
  9. web框架开发-Django简介
  10. [C#]实现任何数据库类型的DbHelper帮助类
  11. python基础-----字符编码
  12. PHP针对数字的加密解密类,可直接使用
  13. oracle11g的监听配置文件中的program和env两个配置,必须干掉,客户端才能正常连接
  14. JavaScript 实用技巧和写法建议
  15. RAC:Oracle11gR2:启动gsd服务
  16. WP8.1StoreApp(WP8.1RT)---SystemTray的变化
  17. how to use greendao in android studio
  18. 系统性能信息模块之psutil模块
  19. [转] 多种方法查看Oracle SQL执行计划
  20. JAVA自动装箱拆箱与常量池

热门文章

  1. java课后思考题(五)
  2. missfresh问题记录
  3. SmartWeatherAPI C#版
  4. CQRS之旅——前言(翻译)
  5. JS正则改变字符之间文字
  6. Aspose.word直接转pdf
  7. Eclipse Debug模式和断点调试
  8. 卡了很久的bug
  9. MFC CDialog/CDialogEx DoModal ALT
  10. LR脚本示例之URL请求(post、get)