0

如何从查询集返回json - A.objects.all()到引导表(http://wenzhixin.net.cn/p/bootstrap-table/docs/examples.html):

<table data-toggle="table" data-url="data" data-cache="false" data-height="299">
    <thead>
        <tr>
            <th data-field="id">Item ID</th>
            <th data-field="name">Name</th>
        </tr>
    </thead>
</table>

在意见中:

data = serializers.serialize("json", A.objects.all())
return render(request, 'a.html', {'data': data})
4

3 回答 3

3

有两种模式:服务器或客户端

对于服务器模式:

在 utils.py 中:

from django.core.serializers import serialize
import json
def serialize_bootstraptable(queryset):
    json_data = serialize('json', queryset)
    json_final = {"total": queryset.count(), "rows": []}
    data = json.loads(json_data)
    for item in data:
        del item["model"]
        item["fields"].update({"id": item["pk"]})
        item = item["fields"]
        json_final['rows'].append(item)
    return json_final

在 view.py 中:

from django.http import JsonResponse
json_send = serialize_bootstraptable(Model.objects.all())
return JsonResponse(json_send, safe=False)
于 2017-11-13T13:44:06.603 回答
1

您可以使用 Django JsonResponse请参阅此处的文档。

你会做这样的事情:

def my_json_view(request):
    context = {'foo': bar}
    return JsonResponse(context)

另请参阅此处的 SO 问题。

希望这可以帮助 !:)

于 2015-05-30T17:31:38.047 回答
1

解决方案:

在视图中:

def test(request):
    data = A.objects.all().values()
    return render(request, 'test.html', {'data': data})

在模板中:

<script type="text/javascript">
    $(document).ready(function(){
        $('#table').bootstrapTable({
           data:{{data|safe}}
        });    
    });
</script>

<table id="table">
    <thead>
        <tr>
            <th data-field="id">Item ID</th>
            <th data-field="name">Name</th>
        </tr>
    </thead>
</table>
于 2015-05-31T10:24:07.833 回答