美文网首页
附录6.习题3

附录6.习题3

作者: __深蓝__ | 来源:发表于2019-04-11 09:46 被阅读0次

多对多关联的表,如何手动生成第三张表?

 tags = models.ManyToManyField(
​        to="Tag",
​        through='Article2Tag',
​        through_fields=('article', 'tag'),

在Django中,服务端给客户端响应信息有几种方式?分别是什么?

  • HTTPresponse,
  • jsonresponse,
  • redirect

web框架的本质是什么?

是一个socket服务端,用户的浏览器其实就是一个socket客户端

django中csrf的实现机制

  1. django第一次响应来自某个客户端的请求时,后端随机产生一个token值,把这个token保存在SESSION状态中;同时,后端把这个token放到cookie中交给前端页面;
  2. 下次前端需要发起请求(比如发帖)的时候把这个token值加入到请求数据或者头信息中,一起传给后端;Cookies:{csrftoken:xxxxx}
  3. 后端校验前端请求带过来的token和SESSION里的token是否一致;

Django App的目录结构

什么是Cookie、如何获取、设置Cookie

Cookie是由服务器创建,然后通过响应发送给客户端保存的一个键值对。

response.set_cookie("is_login",True) 
request.COOKIES.get("is_login")

什么是session,与cookie的对比、设置、获取、清空session

Session是服务器端技术,利用这个技术,服务器在运行时可以 为每一个用户的浏览器创建一个其独享的session对象,由于 session为用户浏览器独享,所以用户在访问服务器的web资源时 ,可以把各自的数据放在各自的session中,当用户再去访问该服务器中的其它web资源时,其它web资源再从用户各自的session中 取出数据为用户服务。

 request.session["is_login"] = True
 is_login = request.session.get("is_login")
 request.session.flush()

如何防范CSRF

  • 启用中间件
  • post请求
  • 验证码
  • 表单中添加{%csrf_token%}标签

get请求和post请求的区别

  • GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditBook?name=test1&id=123456
  • POST方法是把提交的数据放在HTTP包的Body中
  • GET提交的数据大小有限制(因为浏览器对URL的长度有限制)
  • POST方法提交的数据没有限制
  • GET与POST请求在服务端获取请求数据方式不同
  • GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码

什么是wsgi

wsgi的全称是Web Server Gateway Interface(Web服务器网关接口),它不是服务器、python模块、框架、API或者任何软件,只是一种描述web服务器(如nginx,uWSGI等服务器)如何与web应用程序(如用Django、Flask框架写的程序)通信的规范。

使用哪个库可以对字符串进行加密

hashlib

blank和null的区别是什么

  • null 是针对数据库而言,如果 null=True, 表示数据库的该字段可以为空。NULL represents non-existent data.
  • blank 是针对表单的,如果 blank=True,表示你的表单填写该字段的时候可以不填。比如 admin 界面下增加 model 一条记录的时候。直观的看到就是该字段不是粗体

QueryDict和dict区别

QueryDict类似字典的自定义类,用来处理单键对应多值的情况。
在 HttpRequest 对象中,属性 GET 和 POST 得到的都是 django.http.QueryDict 所创建的实例。这是一个 django 自定义的类似字典的类,用来处理同一个键带多个值的情况

什么是restful规范?

restful是一种软件架构风格或者说是一种设计风格,并不是标准,它只是提供了一组设计的原则和约束条件,主要用于客户端和服务器交互类的软件。
像设计模式一样,并不是一定要遵循这些原则,而是基于这个风格设计的软件可以更简洁,更#有层次,我们可以根据开发的实际情况,做相应的改变。
它里面提到了一些规范,例如:

  1. restful 提倡面向资源编程,在url接口中尽量要使用名词,不要使用动词
  2. 在url接口中推荐使用Https协议,让网络接口更加安全
  3. 在url中可以体现版本号

Django本身提供了runserver为什么不能用来部署?

runserver方法是调试Django时经常用到的运行方式,它使用Django自带的 WSGI Server运行,主要在测试和开发中使用,并且 runserver 开启的方式也是单进程

Django重定向如何实现?状态码是什么?

  • 使用HttpResponseRedirect
  • 状态码:302,301

Django中如何加载初始化数据

Django在创建对象时在调用save()方法,之后,ORM框架会把对象的属性转换为写入到数据库中,实现对数据库的初始化;通过操作对象,查询数据库,将查询集返回给视图函数,通过模板语言展现在前端页面




- end -

相关文章

  • 附录6.习题3

    多对多关联的表,如何手动生成第三张表? 在Django中,服务端给客户端响应信息有几种方式?分别是什么? HTTP...

  • 附录5.习题2

    Django中查询queryset时什么情况下用Q方法 F:对数据本身的不同字段进行操作 如:比较和更新,对数据进...

  • 附录4.习题1

    列举Http请求中常见的请求方式 HTTP请求的方法:HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),...

  • 75号《搞定3》附录读后感

    《搞定3》附录1-7 附录一、未完成事务提示清单 附录二、自然数学公式计划模式 附录三、项目规划提示清单 附录四、...

  • 2018-11-03 73 莫丹阳 亮剑

    《搞定3》附录1-7 附录一、未完成事务提示清单 附录二、自然数学公式计划模式 附录三、项目规划提示清单 附录四、...

  • 附录3

    附录3 小说矛盾冲突四个主要类型——情感冲突、利益冲突、性格冲突和观念冲突 就大高潮、小高潮、悬念营造、小说节奏掌...

  • 今日计划

    1.送达凭证 2.听课 3.车 4.工资问题 5.备课 6.英语一套卷子 7.教育学练习题

  • CG中线性插值的基础-仿射函数(affine function)

    Note 这是对MIT Foundation of 3D Computer Graphics附录B的翻译,本附录讲...

  • 2018-12-01

    练习题1 练习题2 练习题3

  • 【Python爬虫】01作业

    习题0 在老师的帮助下完成,特别感谢程程老师! 习题1 习题2 习题3 习题4 习题5 习题6 习题7 习题8 习...

网友评论

      本文标题:附录6.习题3

      本文链接:https://www.haomeiwen.com/subject/lglziqtx.html