我已经用Django
编写了一个代码,例如:
phone = request.data.get("phone")
password = request.data.get("password")
age = request.data.get("age")
name = request.data.get("name")
if not phone or not password or not age or not name: #multiple not checks
return Response({"status": False})
它需要进行多个not
检查,有什么办法可以更简单地编写此代码?
答案 0 :(得分:4)
您不允许在此处选择任何内容或将其保留为空,所以您可以这样做:
if not (phone and password and age and name):
return Response({"status": False})
如果方括号内的任何变量为空/空/假,则整个条件为假。
答案 1 :(得分:1)
您的 request.data
似乎是输入有效负载/查询参数。因此,我假设 request.data
中的所有数据都是强制性的。
在这种情况下,您可以将Python的all()
函数用作
if not all([True if v else False for k, v in request.data.items()]):
return Response({"status": False})
如果您有大量的字段,例如phone
,password
等,这将非常方便
假设您有诸如myfields = ['username','password','name','age']
之类的特定字段,请使用all()
函数作为
myfields = ['username', 'password', 'name', 'age']
if not all([True if request.data.get(k) else False for k in myfields]):
return Response({"status": False})