Вариант использования:
Пользователь делает заказ, его оплата принимается, и его данные получают сообщение в виде django. Используя эти данные, django view создает пользователя и все, что необходимо (имя пользователя и пароль предоставляются мной). Затем, прежде чем возвращать, он отправляет электронную почту клиентам электронной почты со своими данными (имя пользователя и пароль на данный момент).
Но иногда я получаю ошибку тайм-аута шлюза от apache (приложение развернуто при спусках). Поскольку пользователь создан, я предполагаю, что тайм-аут приходит из части отправки электронной почты. Как я могу убедиться, что все прошло нормально и информировать пользователя? Как я могу убедиться, что если письмо не отправлено, я могу отправить его повторно? В чем лучшая практика?
Если у вас есть тайм-ауты с API или службой, вы должны запустить свой запрос POST/sendmail с помощью AJAX…
- Сериализуйте всю форму (например, jQuery serialize())
- Отправьте эти данные через AJAX (с помощью jQuery ajax())
- Информировать пользователя об успешности или ошибке (диалог alert() или jQuery UI)
На этом сайте вы можете найти множество примеров.
Другим “грязным” подходом было бы добавить атрибут target = “_ blank” в ваш тег формы, что откроет ваш ленивый запрос в новой вкладке/окне.