Вы должны создать представление, которое обрабатывает данные POST из формы и внешних веб-приложений.
Вы сможете проверить, поступают ли данные, которые вы получаете в представлении, с вашего сайта или другого сайта.проверяя request.META ['HTTP_REFERER'].
Если это с вашего сайта, вы можете просто обработать форму, как обычно.
Однако, если это с внешнего сайта,вместо этого вы должны сделать шаблон с формой в нем.Вы можете поместить информацию, полученную с внешнего сайта, в контекст, чтобы можно было предварительно заполнить форму в шаблоне.
Вы также должны включить флаг в форму, чтобы сказать, что это было от внешнегоsite, что-то вроде:
<input type="hidden" name="external_site_url" value="{{ external_site_url }}">
После отправки этой формы вы можете проверить наличие external_site_url
.Если оно существует, вы можете отправить сообщение на другой сервер.
Обратите внимание: поскольку вы хотите, чтобы другие приложения использовали ваше представление, вам придется отключить защиту CSRF для представления (https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#csrf-protection-should-be-disabled-for-just-a-few-views).
Кроме того, позволяя другим приложениям использовать ваш вид, вы открываете себя для множества возможных атак. Будьте очень осторожны с проверкой входных данных и дайте представлению только возможность делать то, что ему действительно нужно - вы не делаетене хотите, чтобы внешнее приложение могло удалять записи в вашей базе данных, например.