javascript - Django Rest Framework - 错误请求
问题描述
我正在尝试从我的前端调用我的 Django 项目的 API 端点。
端点位于 URL 处/tst/
。我需要从该端点检索数据,以便用该数据填充我的页面。
我为此使用了 ajax 请求,但我不断收到错误消息400 - BAD REQUEST
,但我不知道为什么会发生这种情况,因为 API 端点位于正确的 URL 上。
function doPoll(){
$.post('http://localhost:8000/tst/', function(data) {
console.log(data[0]);
$('#data').text( data[0].data);
setTimeout(doPoll, 10);
});
}
我的端点的观点:
class tstList(generics.ListCreateAPIView):
queryset = tst.objects.using('screener').all()
serializer_class = tstSerializer
模型.py
class tst(models.Model):
ticker = models.CharField(max_length=15)
Price = models.FloatField()
def save(self, *args, using=None, **kwargs):
super(tst, self).save(*args, using='screener', **kwargs)
json 看起来像这样:
{"ticker":["TEST"],"Price":["4847"]}
我在回复中得到了什么:
{"ticker":["This field is required."],"Price":["This field is required."]}
解决方案
我建议使用 Axios 进行 HTTP 请求调用而不是 ajax。axios:https ://github.com/axios/axios
看起来,您必须在端点视图中实现获取请求。
class tstList(generics.ListCreateAPIView):
queryset = tst.objects.using('screener').all()
serializer_class = tstSerializer
def get(self, request, *args, **kwargs):
return self.create(request, *args, **kwargs)
推荐阅读
- class - 基本 Flutter 类可访问性
- java - 目标列表迭代mapstruct
- git - 如何仅在第一次运行剧本时运行命令,在下次重新运行时跳过?
- react-native - 如何在本机反应中将状态变量分配给样式组件?
- php - 设置计时器以在所有必填字段均有效时提交表单
- bash - Bash - 将光标移动到窗口中不可见的行
- swift - 点击 TabBar 时更新当前 UIViewController UI
- c# - 仅将特定节点从 Xml 反序列化为 Object
- jquery - 来自多个父母的 kendoComboBox 级联
- python - 在单独的文件中查找所有局部变量