У меня есть базовый регистрационный api, однако, похоже, что он выдает эту ошибку, HTTP_201_CREATED' not found
у меня возникает эта ошибка, я пытался преобразовать переменную fields в serializers.py в my_fields, но она не может быть изменена, также я пытался преобразовать значения переменной fields в list, но бесполезно**. сначала все работало, но я не знаю, в чем проблема
Internal Server Error: /api/auth/signup
Traceback (most recent call last):
File "/home/technogetic/Documents/Django Rest Framework/VPAProject/firstapp/views.py", line 97, in post
return Response[{'msg':'Registration Successfull, A Verification code has been send to your Email'}, status.HTTP_201_CREATED]
AttributeError: 'tuple' object has no attribute 'HTTP_201_CREATED'
views.py
class UserRegistrationView(GenericAPIView):
serializer_class = UserRegistrationSerializer
renderer_classes = [UserRenderer]
def post(self, request, format=None):
confirm_password = request.data.get('password1') #Request the Email from the user)
# confirm_password = request.data.get('password1') #Request the Email from the user
email = request.data.get('email') #Request the Email from the user
username = request.data.get('username') # Request the username from the user
password = request.data.get('password') # Request the password from the user
first_name = request.data.get('first_name') # Request the first name from the user
last_name = request.data.get('last_name') # Request the last name from the user
if not email or not username or not password or not first_name or not last_name: # check the parameters for the email,username,password,firstname,lastname.
return Response({'msg': 'Invalid parameters'})
pass_bool = Validate_Password(password) # Validate the password.
if not pass_bool:
return Response({'msg': 'Enter valid passoword'})
res = unique_email(email) # Email is unique for every user.
if res:
return Response({'msg': 'Email or username already Exists'})
if password!=confirm_password:
return Response({'msg': 'Password doesnot match'})
serializer = UserRegistrationSerializer(data=request.data) # serializer the data
serializer.is_valid(raise_exception=True) # if fields is valid
user = User.objects.create(username=username,password=password,email=email,first_name=first_name,last_name=last_name)
user.password= make_password(password)
user.save()
otp = email_otp() # six digits otp send to your email.
user_obj = User.objects.get(username=username) # Get the username from the user table.
profile = Profile(user=user_obj,auth_token=otp)
profile.save()
# sending otp in user email while register
EMAIL_FROM = env('EMAIL_FROM')
EMAIL_FROM = env('EMAIL_FROM')
subject = 'Verify Email Otp '
message = f'Hi {username}, OTP for Email Verification is {otp}.'
email_from = EMAIL_FROM
recipient_list = [email]
send_mail( subject, message, email_from, recipient_list)
return Response({'msg':'Registration Successfull, A Verification code has been send to your Email'}, status.HTTP_201_CREATED)
serializers.py
class UserRegistrationSerializer(serializers.ModelSerializer):
username = serializers.CharField()
first_name = serializers.CharField()
last_name = serializers.CharField()
email = serializers.EmailField()
class Meta:
model = User
fields = ('username', 'first_name', 'last_name', 'email', 'password')