2017-02-20 4 views
-1

У меня есть таблица в базе данных по phpLiteAdmin, работающая над SQL, и я пытаюсь получить эту таблицу через Python, а затем отправить ее для рендеринга в HTML, где я хочу добавить эти столбцы и строки в таблицу. То, что я сделал, я ОТДЕЛЬНЫЕ этот столбец этой таблицы и поместить его в переменную, как, например: symbols = db.execute("SELECT symbol FROM table") что я собирающий что-то вроде этого: symbols = ['symbol':'item1','symbol':'item2'...]Передача содержимого таблицы из SQL в HTML через Python и Jinja

и я посылаю его в HTML с помощью питона и затем с помощью дзиндзя я делаю для цикла, чтобы напечатать их в таблице .. Но я хочу, чтобы иметь возможность печатать каждый элемент этого столбца в то время .. когда я использую:

<td>{% for symbol in symbols %} 
{{symbol["symbol"]}}</td> 
{% endfor %} 

это печатает все элементы в символах .. но я хочу напечатать только 1, а затем позже после вставки других столбцов я хочу напечатать второй, а затем третий e lement..etc что я получаю либо: {'symbol': 'item1'} {'symbol': 'item2'} ... или item1 item2 ... что я хочу, чтобы напечатать первый раз: item1 , а затем после того, как я сделать то же самое для других столбцов, которые я хочу, чтобы напечатать item2 Я пробовал все Я знаю, и я попытался найти способ выйти из цикла, но я не получаю результат, который я хочу; не мог найти ссылку или подсказку относительно этой конкретной проблемы ... это выполнимо? если да, то как я могу его реализовать? PS: это мой первый раз здесь размещение .. поэтому я до сих пор вроде новичок в этом деле :)

+1

«Я все испробовал». Хорошо, хорошо ... Что это такое? Можете привести несколько примеров. – David

+0

Списки и диктофоны не совпадают. Вы должны быть конкретными о том, что у вас есть. Выбранный образец недействителен. –

+0

@ даниэль, ты прав, мой плохой .. Я исправил вопрос –

ответ

0

Если ваши данные, как это, symbols = ['item1','item2','item2',..] то,

{% for symbol in symbols %} 
<td>{{symbol}}</td> 
{% endfor %} 

И если ваши данные как symbols = ['symbol':'item1'], Тогда,

{% for i in symbols %} 
<td>{{i.symbol}}</td> 
{% endfor %} 
+0

Я попробовал, что на самом деле, и выход был { 'символ' : 'item1'} .. Я также попытался поместить символ ["symbol"] .. но он напечатал все элементы снова, как item1 item2 ... есть ли способ остановить цикл for после 1-й итерации? –

+0

также .. получение того же результата: item1 item2 item3 ... –

0

Как я уже говорил в комментариях, вы должны быть конкретными о действительном формате данных, которые вы получаете; как только вы это сделаете, решение становится намного яснее.

Насколько я могу судить, ваш интерфейс db возвращает вам список словарей. Таким образом, вы можете перебирать этот список, и в каждой итерации вам нужен ключ словаря:

{% for symbol in symbols %} 
    <td>{{ symbol['symbol'] }}</td> 
{% endfor %} 
+0

Я просто попробовал, что все еще получаю тот же результат .. он возвращает все строки в этой колонке, но я просто хочу напечатать один за раз –

+0

Я не знаю, нет ни малейшего представления о том, что вы имеете в виду здесь. Очевидно, что цикл будет проходить через все, что вы ему даете, что еще вы ожидали? –

+0

Мне было интересно, есть ли способ выйти из цикла или просто остановить его после определенной итерации. –