首页 > 解决方案 > 将 Django 与 API 之类的调用一起使用时,Django REST 框架的好处?

问题描述

阅读这个问题看起来我可以在现有的 django 项目中设置 DRF。

这让我开始思考......我有一个使用 ajax 调用的 django 应用程序,它返回非常简单的视图部分,这些视图部分快速显示在页面上,然后几秒钟后另一个 ajax 调用返回另一个视图。(你可以把它想象成 Whac-a-mole 游戏,但每个 mole 都是从服务器返回的不同视图部分。)

所以基本上我每分钟有 30-50 个电话mysite.com/ajax_new_mole,其观点类似于(只是在飞行中编造这个,忽略任何错误)

...
def ajax_new_mole(request):
  random_id = get_random_mole_id()
  random_mole = Mole.objects.get(id = random_id)
  return render(request, 'partials/_mole_photo.html, {'mole':random_mole})
...

_mole_photo.html模板

{% load load_cloudfront %}
<div class="img-wrapper" id="{{ photo.id }}">
  <span class="album-title" id="album-title">Title: {{ mole.name }}</span>
  <img src='{% load_cloudfront_medium mole.name %}' id="image{{ photo.id }}"/>
</div>

现在我的问题。在这个情况下。Django REST Framework 会在减少响应和呈现此内容 的开销方面提供任何性能优势吗?

标签: pythondjangodjango-rest-framework

解决方案


DRF 的瓶颈在于序列化器。所以最难的部分是序列化模型和反序列化请求。这就是为什么如果你只将它用于这种类型的小片段,那么我不建议使用 DRF。最好仅在拥有超过 10 个 API 视图时才使用它。


推荐阅读