【发布时间】:2020-07-13 10:05:44
【问题描述】:
假设我想在继续之前测试几个数据,如果失败,则直接向发出请求的人返回错误响应。
我有这个:
def gerUserInfo(request):
if request.user.is_authenticated:
data = json.loads(request.body.decode('utf-8'))
info1 = data.get("info1") if data.get("info1") else ""
if info1.strip() == "":
return JsonResponse({"status":"fail"})
else:
#proceed...
info2 = data.get("info2") if data.get("info2") else ""
if info2.strip() == "":
return JsonResponse({"status":"fail"})
else:
#proceed...
...
我想要这个:
def gerUserInfo(request):
def secureGetData(data):
try:
data = data if data else ""
if data.strip() == "": return JsonResponse({"status":"fail"})
else: return data
except:
return JsonResponse({"status":"fail"})
if request.user.is_authenticated:
data = json.loads(request.body.decode('utf-8'))
info1 = secureGetData(data.get("info1"))
info2 = secureGetData(data.get("info2"))
...
# i can proceed without worring...
我希望服务器响应来自 secureGetData() 的请求,但从来没有。
编辑:
基本上我要做的是从嵌套函数(如 JS 中的here)返回一个循环,我想用返回来做,我什至不确定它在 JS 中是否可行。 ..
【问题讨论】:
-
return JsonResponse({"status":"fail"}) -
这是我的代码中的内容,只是一个错误。我认为secureGetData()试图将服务器响应存储在变量上。
-
你可以使用
return secureGetData(data.get("info2")),但是你需要把return data换成return JsonResponse(data)这样的东西 -
谢谢,但我真正希望该函数为我做的是回答查询或返回一些我可以在稍后自己响应请求之前使用的数据,因此
return data行。 -
链接失效
标签: django function jsonresponse