【问题标题】:Django API showing big time latency while retrieving dataDjango API 在检索数据时显示大时间延迟
【发布时间】:2017-10-20 14:58:24
【问题描述】:

我目前正在研究 Angular2 和 Django(python 框架)。我在 django 中创建了一个简单的 API,它显示了数据库中的所有记录。 这是该 API 的链接。

[https://djangoshopnroar.herokuapp.com/mobile/viewAll][1]

但是当我从 Angular 2 调用它时,它给了我一个时间延迟。最糟糕的是,我的数据库中只有 10 条记录。这需要将近 6-8 秒。我正在使用 PostgreSQL 数据库。 谁能知道为什么 angular 2 会及时显示延迟。或任何建议我该如何改进它?我将非常感谢。

这是我的观点文件

from django.shortcuts import render

    #######################View all mobiles
@api_view(['GET'])
def getAll_Mobiles(request):
    try:
        Mobile_all = Mobile.objects.all()
    except Mobile.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)


    if request.method == 'GET':
        serializer = Mobile_Serializer(Mobile_all, many=True)  # many=True so it doesn't return only 1 JSON Object
        return Response(serializer.data)
    else:
        return Response(status=status.HTTP_400_BAD_REQUEST)

    pass

【问题讨论】:

  • 你能在这里提一下你的观点吗?
  • 您是否测量过延迟的来源?如果它来自数据库,那么您应该删除 python/angularjs/django/django-rest-framework 标记等。
  • @MohammadMustaqeem 这是我的意见文件

标签: python django postgresql angular django-rest-framework


【解决方案1】:

我认为它运行缓慢,因为您的 api 将图像作为 base64 字符串返回。您必须将图像从 db 移动到文件系统和该文件的 db 存储路径中。您的 api 必须返回此图像的 url,而不是整个编码图像。为此,您可以使用ImageField

【讨论】:

  • “必须将图像从 db 移动到文件系统和该文件的 db 存储路径中。”你能否请任何我可以将图像移动到文件夹的链接。还有一件事,我将以哪种格式从角度 2 发送图像
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多