AberSheeran
Aber Sheeran
I know nothing except the fact of my ignorance.
3 解决跨域请求

跨域

首先我们要明白,要让一个请求被允许跨域,在响应预检方法OPTIONS时需要返回哪些头部内容。那么查一下MDN

可以看到MDN给出了一些例子,其中较为重要的。

  • Access-Control-Allow-Origin: 允许访问本站的域

  • Access-Control-Allow-Methods: 允许的请求方法

  • Access-Control-Allow-Credentials: 能否携带Cookies,当这个被设为true时,Access-Control-Allow-Origin将不能被设为*

  • Access-Control-Allow-Headers:请求时允许携带的头 …

2 解析非POST请求

众所周知, Django的每个请求都有对应一个独立的request变量。这个变量在视图函数中使用时,有三个重要的属性GETPOSTFILES

其中POSTFILES是解析request.body得到的结果。当我们使用POST方法接收数据时,一切都很完美。然而当使用其他方法PUTPATCH …

1 模型序列化

什么是序列化

对于Django而言,模型是一个重要的部分,我们从中获取或更改数据,都是用Django的模型对象。而前端并不能直接读取这个对象,于是需要把对象映射为JSON数据进行传递。

把模型映射到JSON数据,这一过程就称之为序列化。当然,我们只需要把模型对象转为Dict,剩下的交给json标准库就可以了。

如何序列化

在进行序列化之前,我们首先需要明白,Model的字段大致可分为三种,一种是直接存储的字段(Field …