美文网首页
layui-table的相关问题

layui-table的相关问题

作者: JerryLoveCoding | 来源:发表于2018-12-14 11:35 被阅读0次

layui--table格式:

这里介绍一个非demo的写法:

1.在html中直接写table,而不是在js中渲染。这里注意将lay-data设置一下,绑定一个id,方便js中重载绑定这个table

       lay-data="{page:true, id:'mainList'}"

       lay-filter="mainList" lay-size="sm">

        <th lay-data="{checkbox:true, fixed: true}">

        <th lay-data="{field:'name',sort: true,width:250}">项目名称

        <th lay-data="{field:'establish_dept',sort: true,width:200}">发布部门

        <th lay-data="{field:'establish_time',width:150}">发布时间

        <th lay-data="{field:'startdate',width:150}">开始时间

        <th lay-data="{field:'enddate',width:150}">结束时间

        <th lay-data="{field:'project_level',width:10}">项目级别

</table>

然后在js中重载table:

var config = {};//table的参数,如搜索key,点击tree的id

var mainList =function (options) {//前面注意要定义layui.table,在layui.use里也记得添加table

if (options != undefined) {

$.extend(config, options);

}

table.reload('mainList',

{

elem:"#mainList",

url: urls,

where: config,

response:{//response定义返回json数据的状态码,返回信息,返回数据行数和数据流

    statusName:"code",//数据状态的字段名称,默认“code”

    statusCode:0,//成功的状态码

    msgName:"msg",//状态信息名称,默认msg

    countName:"count",//数据总数字段名称,就是table显示多少行,默认count

    dataName:"data",},//数据列表

});

};

mainList();

然后,在后端要返回一个官方定义的table返回数据。不符合table的数据格式要求就会报错,所以要对后端object.all的数据进行处理:

def inquiry(request):

if request.method =="GET":

projects = EstablishProject.objects.all()//这里只是一个QuerrySet数据格式

data = []#table这里需要的data是一个列表,每一行数据是一个元素,每个元素又是个字典

detail_data = {}#单行数据用detail_data表示,然后通过for循环不断更新detail_data,存入data列表中

count =0

for detailin projects:

detail_data = dict()#对每一次的for循环,都先清空detail_data,不然数据可能无法进行更新

detail_data["id"] = detail.id

detail_data["name"] = detail.name

detail_data["startdate"] = str(detail.startdate)

detail_data["enddate"] = str(detail.enddate)

detail_data["establish_dept"] = detail.establish_dept

detail_data["establish_time"] = str(detail.establish_time)

detail_data["project_level"] = detail.project_level

print(detail_data)

data.append(detail_data)

count = count +1

      postmsg = {"code":0, "msg":"", "count": count, "data": data}

print(postmsg)

return HttpResponse(json.dumps(postmsg), content_type="application/json")

layui的table问题:

在Django中,使用demo中的写法,即通过把后端转化为json数据然后异步动态加载数据。这里相较于在html中写一个内嵌的python语句进行一个for循环get到数据来讲要高级一点,而且后面再做table重载也更加方便,但是我们在做的时候,发现报错:返回的数据状态异常:paramerror

然后我看了很多文章,这里将所有可能出现这个报错的原因都总结一下。

1.后端返回的数据不是json格式的,layui.table需要json格式的数据,不然只能做成同步提交的静态页面

2.后端返回的数据不是按照layui的table数据流要求,详见:官方定义的table返回数据

3.数据不能显示,print打印不出数据:原因可能是直接用object.all()返回的东西放到data[]里,这肯定不行的,因为querryset格式这里是列表是不认的(因为我print列表没有数据)。需要写个循环通过字典来获取所有数据。

相关文章

  • layui-table的相关问题

    layui--table格式: 这里介绍一个非demo的写法: 1.在html中直接写table,而不是在js中渲...

  • this 相关问题

    问题1: apply、call 、bind有什么作用,什么区别 apply call bind 问题2: 以下代码...

  • this相关问题

    this 相关问题 1: apply、call 、bind有什么作用,什么区别 apply执行一个函数,传入函数执...

  • this相关问题

    1、apply、call、bind有什么作用,什么区别? bind Function.prototype.bind...

  • 相关问题

    电子银行我行手机银行现可提升转账额度为30万(单笔/日均),需要在usb key网银里设置定向转账收款人。手机具备...

  • this相关问题

    apply、call 、bind有什么作用,什么区别 回答这三个方法均可以改变调用函数的this指向 call()...

  • tableView相关问题问题

    一、tableView刷新数据后的偏移量问题 在初始化tableView时对预算高度设置如下即可解决: 二、获取t...

  • SSH的相关问题

    在使用git clone项目的时候,一般方式会有https 和 SSH 两种 一 .SSH是什么? SSH(全称 ...

  • 相关的CSS问题

    8-10 width和min-width的区别和差异性比较 1、正常情况下: width :给块级元素/行内块 ...

  • 栈相关的问题

    iii.run 栈的压入、弹出序列 思路一:纯数学处理 对于出栈序列中的每一个数字,在它后面的、比它小的所有数字,...

网友评论

      本文标题:layui-table的相关问题

      本文链接:https://www.haomeiwen.com/subject/pwgwhqtx.html