整理django 知识点

1. 列举Http请求中常见的请求方式?

GETpython

向特定的路径资源发出请求,数据暴露在url中
POST数据库

向指定路径资源提交数据进行处理请求(通常用于上传表单或者文件),数据包含在请求体中
OPTIONS浏览器

返回服务器针对特定资源所支持的HTTP请求方法,容许客户端查看、测试服务器性能
HEAD安全

向服务器与GET请求相一致的响应,响应体不会返回,能够没必要传输整个响应内容
PUT服务器

从客户端向服务器传送的数据取代指定的文档的内容
DELETE网络

请求服务器删除指定的页面
TRACEapp

回显服务器收到的请求,主要用于测试或诊断
CONNECTide

2. http协议和https协议有什么区别?

HTTPS和HTTP的区别主要以下:函数

  一、https协议须要到ca申请证书,通常免费证书较少,于是须要必定费用。post

  二、http是超文本传输协议,信息是明文传输,https则是具备安全性的ssl加密传输协议。

  三、http和https使用的是彻底不一样的链接方式,用的端口也不同,前者是80,后者是443。

  四、http的链接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

3. 简述Django请求生命周期(很是重要)

  1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端
    请求头和请求体中会包含浏览器的动做(action),这个动做一般为get或者post,体如今url之中.

  2. url通过Django中的wsgi,再通过Django的中间件,最后url到过路由映射表,在路由中一条一条进行匹配,
    一旦其中一条匹配成功就执行对应的视图函数,后面的路由就再也不继续匹配了.
  3. 视图函数根据客户端的请求查询相应的数据.返回给Django,而后Django把客户端想要的数据作为一个字符串返回给客户端.
  4. 客户端浏览器接收到返回的数据,通过渲染后显示给用户

    4. 简述什么是FBV和CBV

    一个url对应一个视图函数,这个模式叫作FBV(Function Base Views)

除了FBV之处,Django中还有另一种模式叫作CBV(Class Base views),即一个url对应一个类

例子:使用cbv模式来请求网页

5. 命令migrate 和makemigrations的差异

在你改动了 model.py的内容以后执行下面的命令:

Python manger.py makemigrations

至关于 在该app下创建 migrations目录,并记录下你全部的关于modes.py的改动,好比0001_initial.py, 可是这个改动尚未做用到数据库文件

你能够手动打开这个文件,看看里面是什么

在此以后执行命令

python manager.py migrate

将该改动做用到数据库文件,好比产生table之类

当makemigrations以后产生了0001_initial.py 文件,你能够查看下该migrations会对应于什么样子的SQL命令

相关文章
相关标签/搜索