Как преобразовать json в форму в Django?

Я разрабатываю Django проект, и команда хочет разделить front-end и back-ed, поэтому я использую Django для разработки api. Формат передаваемых данных - json. Однако я хочу использовать пакет defalt user (django.contrib.auth), и мне нужно использовать Form. Как я могу преобразовать json, полученный от фронтенда, в форму, которую я собираюсь использовать в бэкенде? Спасибо!

Я попробовал глупый код, как показано ниже, и он не работает.

@require_http_methods(["POST"])
def register(request):
    form = CustomUserCreationForm(data=request.POST)
    response = {"status": "success"}
    if form.is_valid():
        new_user = form.save()
        print("valid")
    return JsonResponse(response)

Вот как должно выглядеть ваше представление, если вы хотите зарегистрировать нового пользователя с помощью пользовательской формы :

def register(request):

    if request.method == 'POST':
        form = CustomUserCreationForm(request.POST)
        response = {}
        
        if form.is_valid():
            # The form is valid, now we can save the user in the db
            new_user = form.save()
            response = {"status": "success", "message": "User created"}
            return JsonResponse(response)
        else:
            # Invalid form
            response = {"status": "error", "message": "Form is invalid"}
    else:
        # It's not a post request ( GET or others)
        # Instantiate an empty form
        form = CustomUserCreationForm()

        context = {
            'form': form,
        }
        return render(request, 'register_template.html', context=context)
Вернуться на верх