Django: Отправить запрос через форму на другой сервер - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть форма шаблона на моем домене1, и я хочу отправить запрос POST на домен2.Я использую Django в качестве основы.Я только хочу, чтобы domain2 принимал запросы от domain1 и domain2 (самого себя).Однако я сталкиваюсь с проблемами csrf.

1 Ответ

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

Вам нужен RESTful API.Это очень большая тема, и было бы глупо / невозможно выполнить работу за вас здесь с информацией, которую мне дали, поэтому вот краткое изложение.

Я предлагаю Django Rest Framework длясоздание api.

Что означает вышеизложенное, так это то, что когда вы хотите делать такие вещи (запросы POST из других доменов), вам нужен токен.Обычно это делается с помощью веб-токена Json. Также известного как JWT .

Процесс идет следующим образом:

  1. Получите токен доступа с другого сайта, чтобы получить разрешение на использование API с этого сайта.Определенные заголовки http, пароли и т. Д. Часто включаются в этот каждый раз, когда происходит обмен данными.
  2. После того, как вы получите ответ, дающий вам разрешение, теперь вы можете выполнить требуемый тип запроса с данными, которые выхочу.

Формат данных для всего этого обычно делается с помощью JSON.Поэтому вам придется импортировать json, затем json.dumps(obj), чтобы превратить его в действительный json, и json.loads(obj), чтобы превратить ваш ответ в словарь python, чтобы вы могли использовать его в своем шаблоне или где угодно.

Если вы хотите увидеть пример этого, я недавно сделал бесплатный клон GoFundMe на моем guthub.В представлении donate() внизу он использует библиотеку запросов и показывает, как получается и используется JWT.Вы можете увидеть это там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...