Интеграция Django с React Frontend: нужен REST API - PullRequest
0 голосов
/ 03 апреля 2020

, поэтому я пытаюсь подключить свой бэкэнд Django к моему внешнему React. Теперь интерфейсная реакция по существу завершена и выполняется на сервере узла, чтобы проверить его. Я хочу интегрировать его в мой Django для использования в качестве бэк-энда. Первое, что я хочу сделать, это настроить страницу входа и регистрации. Я выполнил большую часть django серверной части, но теперь мне нужно получить информацию, такую ​​как адрес электронной почты и пароль, от React до Django.

HTML для EMail и пароля

<form action="/authentication/" method ="POST">
    {%  csrf_token %}
    Email :
    <input type="email" name="email"><br><br>
    Password :
    <input type="password" name="pass"><br><br>
    <input type="submit" value="Login">
    <button type="button" onclick="location.href='{%  url 'register' %}'">Register</button>
</form>

текстовое поле реагирования только для письма выглядит следующим образом:

<TextField
              variant="outlined"
              margin="normal"
              required
              fullWidth
              id="email"
              label="Email Address"
              type="email"
              name="email"
              autoComplete="email"
              autoFocus
            />

Django

   def user_login(request):
       return render(request, 'user_login.html')  # page which user will login at

   def authentication(request):
       email = request.POST.get('email')
       passwrd = request.POST.get('pass')

       try:
           user = authen.sign_in_with_email_and_password(email, passwrd)

        except Exception as E:
           # Where login fails goes
           message = "Credentials Wrong"
           return render(request, 'user_login.html', {'message':message}) # sends message login        failed

Мой первый вопрос: нужно ли мне создать отдельное REST API для серверной части? На данный момент серверная часть берет простой тестовый файл HTML, в котором я могу ввести адрес электронной почты и пароль, как показано ниже, но если бы я хотел реализовать его с помощью response, мне пришлось бы изменить. html для . js файл?

1 Ответ

1 голос
/ 03 апреля 2020

Для взаимодействия React с Django для работы требуется API (Restful или Graphql). Django имеет хороший способ, предоставляя django_resful api или django_graphene, который хорошо работает с моделью Django и reactjs для внешнего интерфейса. Для меня я использую graphql для Django и reactjs, это так просто, и позже я пришлю вам ссылку на GitHub моего проекта или вы можете проверить на Youtube (просто django).

...