Как преобразовать 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)