В проекте трясогузки с конструктором форм трясогузки [1] реализация по умолчанию перенаправляет пользователя после успешной отправки формы на целевую страницу [2].
В моей несколько настроенной реализации моей страницы формы (AbstractEmailForm
) я использую строку запроса (здесь: ?embed=true
), чтобы настроить отображаемую страницу / макет для встраивания (через iFrame). Это работает.
Но после отправки формы на такой странице вызывается метод render_landing_page
[3] и отображает целевую страницу для этой формы. Но моя строка запроса потеряна. Этот метод можно переопределить:
class FormPage(AbstractEmailForm):
def render_landing_page(self, request, form_submission=None, *args, **kwargs):
"""
Renders the landing page.
You can override this method to return a different HttpResponse as
landing page. E.g. you could return a redirect to a separate page.
"""
# !!!Pseudocode (next line):
# How to get the query string from the form page?
query_string_from_formpage = get_query_string_from_formpage_request()
context = self.get_context(request)
context['form_submission'] = form_submission
response = TemplateResponse(
request,
self.get_landing_page_template(request),
context
)
# !!! Pseudocode (next line):
# How to pass the captured query string to
# this response object?
response = response + query_string_from_formpage
return response
Как сохранить строки запроса со страницы формы на соответствующей целевой странице?
[1] https://docs.wagtail.io/en/stable/reference/contrib/forms/index.html
[2] https://docs.wagtail.io/en/stable/reference/contrib/forms/customisation.html#custom-landing-page-redirect
[3]