从数据库里拿到数据,组成json格式并返回给前端生成动态树。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从数据库里拿到数据,组成json格式并返回给前端生成动态树。相关的知识,希望对你有一定的参考价值。
数据是根据id来取的,不同的id取的数据是不同的,也就是说有权限的问题,权限大的id可以取的数据多,获得的权限也就多,所以说数据是动态的,组成的树也是动态的。哪位大侠指点一下。随便举个例子更好。(静态的json就免了。)
参考技术A 对于服务端来说,json只是一个字符串,不过,是一个符合js对象格式的字符串你可以专门写一个类或方法来生成json,只要按固定格式拼接字符串就可以了
(拼接的时候注意里面尽量不要有换行符,否则eval()的时候可能会报语法错误)
或者也可以在网上搜生成json的类,如果有的话直接拿来用就是了 参考技术B 你从数据库取数据的时候不是根据ID嘛,取出的数据也不同,然后保存成json,树的数据源用json,而不是用表。 参考技术C ext的例子:
//JSON阅读器
var jr=new Ext.data.JsonReader(
root: 'feedback',
fields:['id','name','content']
);
var st=new Ext.data.Store(
baseParams:start:0,limit:100,
proxy:new Ext.data.HttpProxy(
url:'Webservice.asmx/selectUsers',
method:'post'
),
json:true,
reader: new Ext.data.JsonReader(
root: 'room',
totalProperty:'total',
fields:['','']
),
listeners:
'load':function(s,o)
var room = Ext.data.Record.create(['','']);
this.insert(0,new room(:'',:''));
);本回答被提问者采纳
DRF序列化
Serializers 序列化组件
当我们做前后端分离的项目~~我们前后端交互一般都选择JSON数据格式,JSON是一个轻量级的数据交互格式。
那么我们给前端数据的时候都要转成json格式,那就需要对我们从数据库拿到的数据进行序列化。
接下来我们看下django序列化和rest_framework序列化的对比
Django序列化传值给前端:
Serializers序列化传值给前端:
首先,我们要用DRF的序列化,就要遵循人家框架的一些标准,
Django我们CBV继承类是View,现在DRF我们要用APIView
Django中返回的时候我们用HTTPResponse,JsonResponse,render ,DRF我们用Response
第一步 声明序列化类
第二步 序列化对象
当然,当前端给我们发送post请求时候,传过来的数据我们要保存至数据库和校验,
反序列化用的一些字段~有些字段要跟序列化区分开
Serializers反序列化
required=False --不校验
read_only=True --序列化
write_only=True --反序列化
这里 w_category 和 publisher_id字段因为序列化的显示字段
与反序列不同,所以另起一个字段
序列化对象:
验证
在声明序列化类下对一些字段校验的方法
字段必须包含python
对多个字段验证
自定义校验函数
校验那个字段放在哪里
以上是关于从数据库里拿到数据,组成json格式并返回给前端生成动态树。的主要内容,如果未能解决你的问题,请参考以下文章