170 похожих чатов

Я пишу веб-интерфейс с помощью eel, и мне нужна небольшая

помощь, дело в том что я хочу запускать функцию в файле gui.py, которая зависит от условия нажатия кнопки в файле .js, я подвязал функцию js к python следующим образом:
Файл javascript:

...
код
...
eel.expose(click);
function click(){
if(select.value === 'Rozetka'){
alert("Parsing time!")

}
Теперь я хочу что бы при нажатии на кнопку в function(click) срабатывало условие в .py файле, примерно реализацию я вижу так
Файл gui.py:

...
код
...

if __name__ == "__main__":
window()
if (eel.click = True):
Parce()
Но так к сожалению не работает, не могли бы вы мне помочь разобраться как это можно сделать?

15 ответов

29 просмотров

А разве @eel.expose не должен быть в .py файле, а не в js?

Kostiantyn- Автор вопроса
𝓐𝓶𝓪𝓻𝓸 𝓥𝓲𝓽𝓪 🐝
А разве @eel.expose не должен быть в .py файле, а ...

Его можно вызывать и там и там, в данном случае я хочу передать результат функции из js, и в зависимости от результата запускать функцию в .py

А что такое "не работает"? Ошибка в Питоне? Ошибка в яваскрипте? (в консоли браузера) Если ошибок нет, то все работает же =)

Kostiantyn- Автор вопроса
𝓐𝓶𝓪𝓻𝓸 𝓥𝓲𝓽𝓪 🐝
А что такое "не работает"? Ошибка в Питоне? Ошибка...

Функция не отрабатывает, она должна запускать файл Parcer_GUI_test.py, если вызывать ее отдельно, то она работает отлично, но подвязать ее под js у меня не получается

Kostiantyn- Автор вопроса

Так, щас попробую объяснить, по отдельности работает все хорошо, JS выводит alert-ы при нажатии на кнопку, а питон функция(если ее запускать без if), запускает нужный файл и впринципе все работает как надо, а вот как это связать, что бы при нажатии на кнопку отрабатывала функция Parce() - я без понятия

Kostiantyn
Так, щас попробую объяснить, по отдельности работа...

Вызвать питоновскую функцию из обработчика события нажатия на кнопку в яваскрипте.

Kostiantyn- Автор вопроса
𝓐𝓶𝓪𝓻𝓸 𝓥𝓲𝓽𝓪 🐝
Вызвать питоновскую функцию из обработчика события...

function click(){ if(select.value === 'Rozetka'){ eel.Parce() } Вот так не работает, к сожалению

Kostiantyn
function click(){ if(select.value === 'Ro...

Она к кнопке-то привязана? Если в нее алерт вставить и кнопку нажать - алерт сработает?

Kostiantyn
Сработает

И в питоне ты декоратор @eel.expose применил к функции parse?

Kostiantyn- Автор вопроса

@Tishka17, прости если отвлекаю, но если будет свободное время, помоги пожалуйста, я уже хз что делать

Kostiantyn- Автор вопроса

Если что то я продублировал вопрос на stackoverflow https://ru.stackoverflow.com/questions/1377161/%d0%97%d0%b0%d0%bf%d1%83%d1%81%d0%ba-python-%d1%84%d1%83%d0%bd%d0%ba%d1%86%d0%b8%d0%b8-%d0%be%d1%82-%d1%83%d1%81%d0%bb%d0%be%d0%b2%d0%b8%d0%b9-%d0%b2-js-%d1%84%d0%b0%d0%b9%d0%bb%d0%b5

Kostiantyn
Если что то я продублировал вопрос на stackoverflo...

О, там виднее. if (eel.click = True) Ничего, что ты тут функцию НЕ вызываешь? Где () после click?

Похожие вопросы

Обсуждают сегодня

И ещё вопрос: можно ли типа как на дос как-то запариться и с помощью прерываний выводить текст, вместо функции printf ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
34
Ладно, ещё тупого спрошу. Код должен банально вывести значение регистра на консоль, на деле же не выводя ничего, просто оставляя нерабочую консоль (открыта, ничего не написан...
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
25
здравствуйте. пытаюсь проверить, содержится ли в десятичном представлении инта некоторая цифра. совершаю: strstr(x, "5") != NULL) получаю ошибку с фото (заведомо неработающий ...
Катя Шевчук🪇
17
Что там вообще с кроссплатформенностью?
🄼🄰🄺🅉🄰🄸
23
{ char buff = *start; *start = *end; *end = buff; } Из-за этой строчки? Что каждый символ через перем бафф? Как вариант использовать другие со...
Wenks
12
#include <stdio.h> #include <string.h> int main() { char *str = "Hello World"; char *ptr; int i = 0; for(char *end = str + strlen(str) - 1; end = str; ptr++, ...
Wenks
9
а я правильно понимаю что в винде сетевые диски выполнены на уровне юзерспейс драйвера? ну я про те которые webDAV, SMB и прочие высокоуровневые
Mixail Frolov
9
Доброй ночи. Вопрос знатокам. Имеется некая таблица, результат которой выведен в DBGrid на форме. И есть форма, с помощью которой можно как добавить запись, так и отредактиров...
Евгений
28
Кстати, а я вот тут подумал. Допустим, у нас имеется цикл который выполняет огромное количество итераций, но мы хотим, чтобы какие-то действия исполнилось только один раз. В Я...
The Bird of Hermes
23
а всё почему? потому что ассемблер в отличии от яву порождает множество пагубных привычек, среди которых например можно отметить использование глобальных переменных для всего ...
Mixail Frolov
35
Карта сайта