JS возвращает undefined | Python | Eel

Не могу решить проблему. Написал программу, вот ее краткое описание: Приложение, логика которого написана на python, а интерфейс отображается с использованием HTML и CSS. В python импортирован модуль eel. В питоне прописана функция, возвращающая массив. В JS создается переменная, принимающая итог функции, и после результат записывается в классы HTML. Вот как это выглядит:

  • Код python

     import eel
     import datetime
     import sys
    
    
     eel.init("web")
    
     isoWD = datetime.datetime.today().isoweekday()
    
     @eel.expose
     def some_func():
         if isoWD == 1:
             result = ['элементы', 'массива', 'элементы', 'массива', 'элементы', 'массива']
    
         elif isoWD == 2:
             result = ['элементы', 'массива', 'элементы', 'массива', 'элементы', 'массива']
    
         elif isoWD == 3:
             result = ['элементы', 'массива', 'элементы', 'массива', 'элементы', 'массива']
    
         elif isoWD == 4:
             result = ['элементы', 'массива', 'элементы', 'массива', 'элементы', 'массива']
    
         elif isoWD == 5:
             result = ['элементы', 'массива', 'элементы', 'массива', 'элементы', 'массива']
    
         elif isoWD == 6:
             result = ['элементы', 'массива', 'элементы', 'массива', 'элементы', 'массива']
    
         elif isoWD == 7:
             sys.exit()
    
         return result
    
    
     eel.start("main.html", size=(325, 450))
    
  • Код HTML

     <div class="wrapper">
         <div class="block">
             <div class="block__num"><p>(1)</p></div>
             <div class="block__les"></div>
             <div class="block__time">09.00 - 09.30</div>
          </div>
          <div class="block">
             <div class="block__num"><p>(2)</p></div>
             <div class="block__les"></div>
             <div class="block__time">09.40 - 10.10</div>
          </div>
          <div class="block">
             <div class="block__num"><p>(3)</p></div>
             <div class="block__les"></div>
             <div class="block__time">10.20 - 10.50</div>
          </div>
          <div class="block">
             <div class="block__num"><p>(4)</p></div>
             <div class="block__les"></div>
             <div class="block__time">11.00 - 11.30</div>
          </div>
          <div class="block">
             <div class="block__num"><p>(5)</p></div>
             <div class="block__les"></div>
             <div class="block__time">11.40 - 12.10</div>
          </div>
          <div class="block">
             <div class="block__num"><p>(6)</p></div>
             <div class="block__les"></div>
             <div class="block__time">12.20 - 12.50</div>
          </div>
          <div class="block">
             <div class="block__num"><p>(7)</p></div>
             <div class="block__les"></div>
             <div class="block__time">13.00 - 13.30</div>
          </div>
          <div class="block">
             <div class="block__num"><p>(8)</p></div>
             <div class="block__les"></div>
             <div class="block__time">13.40 - 14.10</div>
          </div> 
     </div> 
    
     <script type="text/javascript" src="/eel.js"></script>
     <script type="text/javascript">
         function display() {
             var res = eel.some_func();
             for (var i = 0; i <= 'block__les'.length; i++) {
                 document.getElementsByClassName('block__les')[i].innerHTML = res[i];
             }
         }
         display();
     </script>   
    

Программа выводит следующее:

Output


Ответы (1 шт):

Автор решения: Igor
 function display() {
     var res = eel.some_func();
     var blocks = document.getElementsByClassName('block__les');
     console.log(blocks.length, res); // - ?
     for (var i = 0; i < blocks.length; i++) {
         blocks[i].textContent = res[i];
     }
 }
 display();
→ Ссылка