Неожиданно возникло: TypeError('send_verification() принимает 1 позиционный аргумент, но было задано 3') в сельдерееPython

Программы на Python
Anonymous
Неожиданно возникло: TypeError('send_verification() принимает 1 позиционный аргумент, но было задано 3') в сельдерее

Сообщение Anonymous »

Код: Выделить всё

class CreateAccountView(APIView):
permission_classes = []
def post(self, request):
print(request.data)
email = request.data.get('email')
if User.objects.filter(email=email).exists():
return Response({"message": "User with this email already exists"},    status=status.HTTP_203_NON_AUTHORITATIVE_INFORMATION)
serializer = RegisterSerializer(data=request.data)
if serializer.is_valid():
domain = request.get_host()
**send_verification.delay(email,domain)**
serializer.save()
return Response({"message": "Check your email to verify your account"}, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

Код: Выделить всё

@shared_task(bind=True)
def send_verification(self,email,domain):
print(email)
try:
email_from = settings.EMAIL_HOST_USER
token = generate_token(email)
verify_url = f'http://{domain}{reverse("verify_email", args=[token])}'
subject = 'Verify your email address'
message = f'Click the link to verify your email: {verify_url}'
send_mail(subject, message, email_from, [email])
print(message)
except Exception as e:
print(f'Error sending email: {e}')
print("Done")
return "Done"
когда я пытался отправить ссылку для проверки через сельдерей и передать 2 аргумента в функцию send_verification(), но она всегда говорит, что принимает 1 позиционный аргумент и 3, если задано


Подробнее здесь: https://stackoverflow.com/questions/786 ... rgument-bu

Вернуться в «Python»