как зациклить для 2 данных в той же таблице в HTML с тегом цикла - PullRequest
0 голосов
/ 23 декабря 2019

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

def manage_user(request):
    import cx_Oracle
    dsn_tns = cx_Oracle.makedsn(, , ) 
    conn = cx_Oracle.connect(user=, password=, dsn=dsn_tns) 
    c = conn.cursor() 
    c.execute("select * from auth_user")
    c.rowfactory = makeDictFactory(c)
    databaseusertable = []
    databaseemailtable =[]
    for rowDict in c:
        databaseusertable.append(rowDict['USERNAME'])
        databaseemailtable.append(rowDict['EMAIL'])

    context = {
        'obj' : databaseusertable,
        'obj2': databaseemailtable,
    }
    return render(request,'manage_user.html',context)

html

{% for item1 in obj %}
                  <tr>


                  <td>
                      {{item1}}
                  </td>
                  {% cycle '' '' '</td></tr><tr>' %}


                  </tr>
                  {% endfor %}
                  {% for item2 in obj2 %}
                  <tr>


                  <td>
                      {{item2}}
                  </td>
                  {% cycle '' '' '</td></tr><tr>' %}


                  </tr>
                  {% endfor %}

, как сделать так, чтобы электронная почта была в другом столбце? я использую метки цикла, поэтому я немного запутался в этом

1 Ответ

2 голосов
/ 23 декабря 2019

Предполагая, что эти списки больше нигде не используются в шаблоне, лучше создать список пользователей, а не 2 отдельных списка - с ними легче читать и работать.

def manage_user(request):
    import cx_Oracle
    dsn_tns = cx_Oracle.makedsn(, , ) 
    conn = cx_Oracle.connect(user=, password=, dsn=dsn_tns) 
    c = conn.cursor() 
    c.execute("select * from auth_user")
    c.rowfactory = makeDictFactory(c)
    databaseusertable = []
    for rowDict in c:
        databaseusertable.append({
            'name': rowDict['USERNAME'],
            'email': rowDict['EMAIL']
        })

    context = {
        'users' : databaseusertable,
    }
    return render(request,'manage_user.html',context)

После этого выможно просто зациклить список в шаблоне и построенной таблице:

{% for user in users %}
<tr>
  <td>
    {{user.name}}
  </td>
  <td>
    {{user.email}}
  </td>
</tr>
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...