Djagno-REST-framework-datatables没有显示任何内容

问题描述 投票:0回答:1

我正在尝试使用REST api练习Django,但是当我尝试运行时什么也没发生。它仍然显示处理标志。这是我的参考:https://github.com/izimobil/django-rest-framework-datatables我尝试使用其他版本的jquery,但似乎不是解决方案。

这是我的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0/css/bootstrap.css">
    <link rel="stylesheet" href="//cdn.datatables.net/1.10.16/css/dataTables.bootstrap4.min.css">
</head>
<body>

<div class="row">
    <div class="col-sm-12 text-center">
        <h4 class="bg-primary text-white p-2" style="margin: 15px;">Full example with foreign key and many to many relation</h4>
        <div class="btn-group btn-group-toggle" role="group" aria-label="Decades">
            <button class="btn btn-success btn-decade">All time</button>
        </div>
    </div>
</div>
<div class="row">
    <div class="col-sm-12">
        <table id="datatables" class="table table-striped table-bordered" style="width:100%">
            <thead>
                <tr>
                    <th>ID</th>
                    <th>Name</th>
                    <th>Link</th>
                    <th>Context</th>
                    <th>Time</th>
                    <th>Action</th>
                </tr>
            </thead>
        </table>
    </div>
</div>

<script src="//code.jquery.com/jquery-1.12.4.js"></script>
<script src="//cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
<script src="//cdn.datatables.net/1.10.16/js/dataTables.bootstrap4.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
  var table = $('#datatables').DataTable({
      "processing": true,
      "serverSide": true,
      "ajax": {
          "url":"/newsapi/?format=datatables",
          "type": "GET"
      },
      "columns": [
          {"data": "id"},
          {"data": "name"},
          {"data": "link"},
          {"data": "context"},
          {"data": "created_time"},
          {
            "data": null,
            "defaultContent": '<button type="button" class="btn btn-info">Edit</button>'
          }
      ]
  });
});
</script>
</body>
</html>

Serializers.py:

from rest_framework import serializers
from stock.models import Stock



class StockSerializer(serializers.ModelSerializer):

    class Meta:
        model = Stock
        fields = '__all__'


Views.py

class Get_news_List(APIView):
    def get(self, request):
        stock = Stock.objects.all()
        serialized = StockSerializer(stock, many=True)
        return Response(serialized.data)

jquery django python-3.x datatables django-rest-framework
1个回答
0
投票

这是我的模型。py:

class Stock(models.Model):
    id = models.AutoField(db_column='ID', primary_key=True)  
    name = models.CharField(db_column='Name', max_length=45, verbose_name='Name')  
    link = models.URLField(db_column='Link', max_length=500, verbose_name='Link')  
    context = models.TextField(db_column='Context', verbose_name='Context') 
    created_time = models.DateTimeField(auto_now=True, verbose_name='Created_time')

    class Meta:
        managed = True
        db_table = 'stock'

    def __str__(self):
        return self.name

这里是控制台:

Uncaught TypeError: Cannot read property 'style' of undefined
    at Ea (jquery.dataTables.min.js:62)
    at ga (jquery.dataTables.min.js:48)
    at e (jquery.dataTables.min.js:92)
    at HTMLTableElement.<anonymous> (jquery.dataTables.min.js:92)
    at Function.each (jquery-1.12.4.js:370)
    at jQuery.fn.init.each (jquery-1.12.4.js:137)
    at jQuery.fn.init.m [as dataTable] (jquery.dataTables.min.js:82)
    at jQuery.fn.init.h.fn.DataTable (jquery.dataTables.min.js:164)
    at HTMLDocument.<anonymous> ((index):40)
    at fire (jquery-1.12.4.js:3232)

我尝试使用不同版本的jquery.datatables,但不起作用

© www.soinside.com 2019 - 2024. All rights reserved.