AberSheeran
Aber Sheeran
RSS feed
5 MVT 模式在 API 中的应用

MVT 模式指一种程序解耦的模式。M 是 Model,用于管理数据;V 是 View,用于处理具体业务逻辑;T 是 Template,用于把编程语言的对象转成用户阅读的页面。现在工作细化,后端开发已经不会去使用 Template 渲染页面了,这项工作往往是前端开发来做。

但 …

4 一种序列化 Django model 的新思路

在我编写一种新的 ORM 时,我更深入的研究了 Python ORM 的设计,这让我有了足够的知识来支撑起两年前的一个序列化 Django Model 的想法。

一般来说序列化 Django Model 都会使用 django-rest-framework 的序列化功能。使用它,你首先需要根据需求定义一个 Serializer …

3 Django 解决跨域请求

跨域

首先我们要明白,要让一个请求被允许跨域,在响应预检方法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 Django 解析非POST请求

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

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

1 Django ORM 模型序列化

什么是序列化

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

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

如何序列化

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