我正在尝试使用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)
这是我的模型。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,但不起作用