Показать список значений SQL в html-странице FullCalender из колбы

#python #mysql #python-3.x #flask #fullcalendar

Вопрос:

Я использую .py для получения значения из sql:

     cur = mysql.connection.cursor()
    cur.execute(
        'SELECT sname FROM `sessioncreate` WHERE sessioncreate.sdate = %s AND `ownerId` = %s',
        (today_date, str(check_id)))
    user = cur.fetchall()
    for row in user:
        a = (" | ".join(row))

    events = [
        {
            'sess_name': a,
            'date': today_date
        }
    ]

    if check_isadmin == 1:
        return render_template('dashboard.html', events=events)
 

моя .html страница:

  <script>

      document.addEventListener('DOMContentLoaded', function() {
      var calendarEl = document.getElementById('calendar');
      var calendar = new FullCalendar.Calendar(calendarEl, {
        events : [
        {% for event in events %}
        {
          title : '{{event.sess_name}}',
          start : '{{event.date}}',
        },
        {% endfor %}
      ]

    });
    calendar.render();
  });

</script>

<div id='calendar'></div>
 

результат моего запроса:

Запрос

Проблема в том, что на html-странице отображается только второй результат запроса «aaab», я хочу показать оба.

Html-Страница

Как я могу этого достичь?

Комментарии:

1. events Насколько я вижу, вы назначаете только один раз, вместо того, чтобы создавать массив и добавлять к нему внутри for цикла. Поэтому он будет использовать значения только в том виде, в каком они были установлены после выполнения цикла в последний раз. Я не эксперт по python, но я уверен, что вы можете погуглить, как создать список или массив с помощью python и добавить в него

2. @ADyson Спасибо за ответ.

3. Без проблем. Ты понял, что я имею в виду?

4. @ADysin Да, я понимаю, что вы имеете в виду, спасибо, я меняю код и хорошо работаю.

5. Затем вы должны написать окончательное решение в качестве ответа ниже (это нормально, чтобы ответить на ваши собственные вопросы!), Тогда другие с аналогичными проблемами могут найти его и проголосовать за него, если это им полезно 🙂