TypeError: неподдерживаемый тип(ы) операнда для ** или pow(): 'bool' и 'dict' [закрыто]
Я использую Django и пытаюсь реализовать создание пользователя с помощью словарей, парсируемых из JSON. Однако я продолжаю получать ошибку типа, поскольку пользователь не создан, но на самом деле пользователь создан.
class SignupView(ReactView):
def post(self, request, *args, **kwargs):
field_names = ["username", "first_name", "last_name", "email", "password"]
try:
self.body = json.loads(request.body)
except JSONDecodeError:
return JsonResponse({"error": "Data must be in JSON"})
except RawPostDataException:
return JsonResponse({"error": "Data must be application/json"})
if not any(field in self.body for field in field_names):
return JsonResponse({"error": "Missing fields"})
else:
try:
user = UserModel(**self.body) # Line where I pass body as kwargs
user.set_password(self.body.get("password"))
user.full_clean() # Will ideally throw TypeError if fields are invalid
user.save()
return JsonResponse({"success": "User was created"})
except TypeError as err:
return JsonResponse(
{
"error": "unexpected parametes. Allowed parameters are {}".format(
field_names
) # THIS RUNS WITH EVERY POST REQUEST I MAKE FOR USER CREATION IF SUCCESSFUL
}
)
except ValidationError as e:
return JsonResponse({"error": str(e)})
Как оповестить абонента о том, что пользователь был создан?
При получении ошибки в вызывающем устройстве выполняется другой набор действий.
EDIT
Трассировка показала, что ошибку выбрасывает метод save(), а ошибка была в моем сигнале signal(post_save), который отправлял сообщения пользователям. Я забыл запятую, как показано ниже
...
"""Send an email to this user."""
send_mail(
subject=subject,
message=message,
from_email=from_email,
recipient_list=[self.email],
html_message=html_message,
fail_silently=False ** kwargs,
)
...