2020-03-26 工作日志

8:30 django restful

参考:https://zhuanlan.zhihu.com/p/32126430

from django.conf import settings
‘settings 是 django 的配置文件钩子,你可以在项目的任何地方引入它,可以通过 . 路径符来访问项目的配置。比如 settings.ROOT_URLCONF 就会返回根 url 配置。关于钩子,我需要多说两句。讲道理,如果需要引用项目配置,标准的写法难道不应该是 import project.settings as settings吗,这样才能连接到项目的配置啊,为什么我只是引入 django 自己的配置就可以了呢。这就是 django 的神奇之处了,在一切都还没有运行之前,django 首先做的就是加载配置文件,并且把 settings 对象的属性连接到各个配置上。注意,settings 是个对象,所以像 from django.conf.settings import DEBUG 之类的语法是错误的。因为它不是个模块。所以在访问配置时,只能以 settings.<key> 的形式来调用配置。’

可以通过断点调试来进入黑盒内部。

使用Rest以json类型前后端交换数据,避免了因为数据变动导致后端渲染模板的性能浪费,view层交给前端js自行渲染

中间件是 django 很重要的一部分,它在请求和响应之间充当预处理器的角色。 很多通用的逻辑可以放到这里,django 会自动的调用他们。 中间件只是视图函数的公共部分。你把中间件的核心处理逻辑复制粘贴到视图函数中也是能够正常运行的。

10:00 我吐了,django-rest-framework的官网例子还真的有错

使用
url(r'^', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
而不是官网quikstart里面的
具体参考:https://www.django.cn/course/show-20.html

序列化

们该如何把模型数据转换为 json 数据呢? 把其它数据按照一定的格式保存下来,这个过程我们称为“序列化”。“序列化”这个词其实很形象,它把一系列的数据,按照一定的方式给整整齐齐的排列好,保存下来,以便他用。在 Django 中,Django 为我们提供了一些简单的序列化工具,我们可以使用这些工具来把模型的内容转换为 json 格式。
其中很重要的工具便是 serializers 了,看名字我们就这到它是用来干什么的。其核心函数 serialize(format, queryset[,fields]) 就是用于把模型查询集转换为 json 字符串。它接收的三个参数分别为 format,format 也就是序列化形式,如果我们需要 json 形式的,我们就把 format 赋值为 'json' 。 第二个参数为查询集或者是一个含有模型实例的可迭代对象,也就是说,这个参数只能接收类似于列表的数据结构。fields 是一个可选参数,他的作用就和 Django 表单中的 fields 一样,是用来控制哪些字段需要被序列化

同时它也提供了对数据的验证功能,更棒的是,这个数据验证是双向的。也就是说,它既可以验证前端上传到后端的数据,它也可以验证后端传到前端的数据。前者比较好理解,那后者怎么理解呢?比如,我们前端需要的 created_time字段的日期的格式为 '月-日-年' ,那么我们就可以在序列化器中写好,提前做好格式转换的工作,把验证通过数据传给前端。所以,我们序列化器的处理流程大概是这样的:
client ----> views <-----> serializer <-----> model
以及,序列化器还可以规定前端可以修改哪些字段,前端可以知道哪些字段。我们只希望客户端修改 name 和 code 两个字段,有的人可能会偷偷上传 created_time 字段,要是我们没有对它做拦截,我们的字段就会被随意修改啦,这样可不太好。

序列化器把不符合要求的字段的错误信息给放在了 .errors 属性里。我们可以通过这个属性来查看相应的错误信息

read_only_fields 选项里,这样,当序列化器在序列化前端的字段时,即便是前端有这些字段,序列化器也会忽略这些字段,这样就可以防止别有用心的人暴力修改我们的字段。

Maxin

  1. 每个Maxin只能完成一个功能
  2. 每个Maxin只操作自己自己知道的属性
    Maxin是为了代码复用和解耦,要合理的选择那一部分抽象出来成为Maxin
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容