Формы используются для «пользовательских интерфейсов» (пользователь, который установил за его / ее P C и заполнил форму). Для мобильных приложений (или веб-приложений) в вашем бэкэнде должен быть «интерфейс прикладного программирования (API)», который может взаимодействовать с этими системами (например, мобильными приложениями).
Этот API-интерфейс просто получает данные (например, информацию о пользователе) из тела запроса (может быть, как JSON
), например:
{"email": "an emai", "pass": "secret"}
.
Таким образом, запрос на получение конечной точки регистрации может иметь вид:
POST: your_host:your_port/users or
{"email": "an emai", "pass": "secret"...}
При отделении бэкэнда от веб-интерфейса бэкэнд больше не участвует в процессе получения информации, пока она находится в правильный формат (например, JSON
), поэтому данные могут быть результатом того, что пользователь заполнил форму, или результатом AJAX вызова или через POSTMAN ... et c.
Таким образом, вам, возможно, придется переписать функцию в нечто подобное:
def signup(request):
registered=False
failed_ref=False
wrong_ref=False
if request.method=='POST':
user_form = UserForm(data=request.POST)
if user_form.is_valid():
user = user_form.save()
user.set_password(user.password)
user.save()
return HttpResponse(status=200)
eles:
return HttpResponse(status=400)
Примечание : этот код является просто примерным, и лучше использовать что-то вроде django rest framework
.