python - 将Django视图返回数据放入响应数据
问题描述
我有一个基于函数的视图,其中有许多检查并根据检查结果返回数据。所以我不想每次都手动将我的数据包装到Response对象中。有没有办法在 Django Rest Framework 中自动将函数返回值放入 OK 响应数据中?例如,有一个像这样的有效视图:
@api_view(['GET'])
def pre_reg_countries(request):
if some_condition:
return data_1 # instead of returning Response(data=data_1)
else:
if another condition:
return data_2
else:
return []
PS这个想法来自Java Spring框架。
解决方案
如果 Django 没有提供一些内置的解决方案,像这样的装饰器可以解决问题:
def responsify(view_method):
def add_response(*args, **kwargs):
data = view_method(*args, **kwargs)
return Response(data)
return add_response
推荐阅读
- java - dom4j selectSingleNode 返回空值
- r - ggplot2 问题:FUN 中的错误(X[[i]],...):找不到对象“HR”
- angular - Angular,为什么我的组件没有渲染?
- count - 在 PowerBI (DAX) 中,如何仅对所有年份都存在的名称进行第一年和最后一年的总和
- java - 除了手动乘以小时和分钟的总和之外的任何类乘以时间
- java - 长时间保持jdbc连接打开是安全的
- python - 使用 Python 进行网页抓取
- java - IBM Watson NLC - 如何在 Java SDK 中重新训练现有分类器
- html - 为什么,在尝试设置框架时它不起作用
- node.js - 多个子域的身份验证