Как запросить ответ пользователя в середине просмотра django? - PullRequest
0 голосов
/ 19 июня 2020

У меня есть страница html, где пользователь видит информацию о сотруднике, на этой странице у меня есть кнопка запроса, когда я нажимаю на эту кнопку, я открываю модальное окно с информацией, необходимой для запроса, такой как Имя, запись, дата рождения. В этом модальном окне у меня есть кнопка продолжения, когда пользователь нажимает на эту кнопку, я делаю запрос ajax для представления django, в этом представлении я создаю объект типа Query, мой запрос выполняется на странице, внешней по отношению к моему код, и он выполняет следующие шаги: Consult.add_page () (в основном вставляет данные пользователя в раздел). Consult.capcha () (на этом этапе я делаю запрос на публикацию на странице с данными раздела, чтобы получить капчу), вот моя проблема, мне нужно отобразить капчу на экране, мне нужно, чтобы пользователь ответил на нее, и после этого мне нужно продолжить поток просмотра, чтобы создать Consulta.consulta_page ().

Следуя закомментированному коду для лучшего понимания obs: Consult - это класс Obs2: я проверяю коды с помощью Tkinter для визуализации изображения для пользователя и получаю ответ, но я не могу использовать Tkinter на сервере Production, и я не могу вернуть HttpResponse с изображением, потому что я не могу потерять объект Consult, поскольку Consult.consult_page () должен исходить из того же объекта, который был ранее создан

                Consult = consult.Consult( birth_date, name, register)
                Consult.add_page()
                img = Consult.captcha_to_img()
                #This moment i got captcha, so i need render img with input to user and get response
                captcha_resp = #response captcha to user
                resp = Consult.consult_page(captcha_resp)
               def consult_page(self, captcha_resp):
                    paylod = {
                        'DTPINFRA_TOKEN': self.token,
                        'captcha_chalenge': self.captcha,
                        'captcha_answer': captcha_resp,
                    }
                    page = self.session.post(self.urls.QUALIFICAR,data=paylod, headers=self._gen_header())
                    parser = html.HTMLParser(encoding='utf-8')
                    tree = html.fromstring(page.content, parser=parser)
                    xpath_data = tree.xpath('//tbody/tr/td/span/text()')
                    try:
                        data = dict(
                            name=xpath_data[0],
                            birth_date=xpath_data[1],
                            register=xpath_data[2],
                        )
                        return json.dumps(data, indent=4)
                    except IndexError:
                        return False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...