Регистрация и вход не работают в производстве в DigitalOcean при использовании DjangoRestFramework и получении серверной ошибки 500
Я следовал документации DigitalOcean, чтобы загрузить свое приложение Django на DigitalOcean: https://docs.digitalocean.com/developer-center/deploy-a-django-app-on-app-platform/ И я обслуживал свои статические файлы и медиафайлы, используя пространство DigitalOcean, и все хорошо, и я могу делать все свои запросы в производстве, но Login & Sign up работает только на моей локальной машине, но не на сервере DigitalOcean Я получаю ошибку сервера 500
вот моя конфигурация :
settings.py:
Serializers.py
class UserSerializer(serializers.ModelSerializer):
# The Meta class specifies that we are interested
class Meta:
model = User
fields = ["id", "first_name", "last_name",
"username", "password", "email"]
extra_kwargs = {'password': {'write_only': True}}
apis.py
@permission_classes((AllowAny,))
@csrf_exempt
def user_sign_up(request):
if request.method == "POST":
# user data
serializer = UserSerializer(data=request.POST)
# typed username
username = request.POST.get('username')
password = request.POST.get('password')
first_name = request.POST.get('first_name')
last_name = request.POST.get('last_name')
# typed email
email = request.POST.get('email')
if User.objects.filter(username=username).exists():
return JsonResponse({"dublicated username": "your username already exists, try another username"})
elif User.objects.filter(email=email).exists():
return JsonResponse({"dublicated email": "your email already exists, try another email"})
else:
# generating access token for each user
expire_seconds = oauth2_settings.ACCESS_TOKEN_EXPIRE_SECONDS
scopes = oauth2_settings.user_settings['SCOPES']
application = Application.objects.get(name="test_app_name")
expires = datetime.datetime.now() + timedelta(seconds=expire_seconds)
if serializer.is_valid():
user = User.objects.create_user(username, email, password)
user.first_name = first_name
user.last_name = last_name
user.save()
access_token = AccessToken.objects.create(user=User.objects.all().get(username=username),
application=application,
token=generate_token(),
expires=expires,
scope=scopes)
user_type = request.POST.get('user_type')
if user_type == "driver":
driver = Driver.objects.get_or_create(
user_id=User.objects.all().get(username=username).id)
elif user_type == "customer":
customer = Customer.objects.get_or_create(
user_id=User.objects.all().get(username=username).id)
# user_data = []
# user_data.append(serializer.data)
# user_data.append(access_token.token)
return JsonResponse({"registered_user": serializer.data, "access_token": access_token.token})
else:
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
urls.py
path('user/sign_up/', apis.user_sign_up), #=>
but unfortunately it gave me server error 500 but it works in localhost perfectly
I don't know where is the problem