У меня есть страница 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