добавить данные выпадающего типа в выпадающий список (выбрать элемент формы) - PullRequest
0 голосов
/ 11 ноября 2019

У меня есть код для вывода всех данных из базы данных в раскрывающееся меню

def makeDictFactory(cursor):
    columnNames = [d[0] for d in cursor.description]
    def createRow(*args):
        return dict(zip(columnNames, args))
    return createRow

def list_all_table(request):
    import cx_Oracle
    dsn_tns = cx_Oracle.makedsn('', '', sid='') 
    conn = cx_Oracle.connect(user=r'', password='', dsn=dsn_tns) 
    c = conn.cursor() 
    c.execute("select table_name from all_tables")
    c.rowfactory = makeDictFactory(c)
    for rowDict in c:
        context = {
            'obj2':rowDict
        }
    #database_table = c.fetchall()  
    return render(request,'define_segment.html',context)

это HTML-код

<div class="btn-group">
     <select style="width:425px;background-color:white;height:30px;font-color:red;text-align-last:center;">              
             {% for table in obj2 %}
                 <option>{{ table.table_name }}</option>
             {% endfor %}                          
      </select>                    
</div>

как передать параметр в obj2 в HTML, яЯ чувствую, что мои взгляды неверны, и мне нужна помощь, чтобы это исправить, спасибо

PS: Мне нужно это views.py, чтобы сделать зависимый выпадающий список из этого кода

1 Ответ

0 голосов
/ 11 ноября 2019

так что я уже знаю ответ, поэтому я должен сначала добавить его в список, потому что, когда я не добавляю его в список, он покажет последнюю строку, и почему он не отображается? потому что в html я использую table.table_name, правильный способ - писать таблицу только потому, что в таблице уже есть все данные в obj2 без columnName. Так что таблица только сделает работу

вот что я пишу

VIEWS.PY

def makeDictFactory(cursor):
    columnNames = [d[0] for d in cursor.description]
    def createRow(*args):
        return dict(zip(columnNames, args))
    return createRow

def list_all_table(request):
    import cx_Oracle
    dsn_tns = cx_Oracle.makedsn('', '', sid='') 
    conn = cx_Oracle.connect(user=r'', password='', dsn=dsn_tns) 
    c = conn.cursor() 
    c.execute("select table_name from all_tables")
    c.rowfactory = makeDictFactory(c)
    databasetable = []
    for rowDict in c:
        databasetable.append(rowDict['TABLE_NAME'])

    context = {
        'obj2' :databasetable
    }
    return render(request,'define_segment.html',context)

HTML-код

<div class="btn-group">
     <select style="width:425px;background-color:white;height:30px;font-color:red;text-align-last:center;">              
             {% for table in obj2 %}
                 <option>{{ table }}</option>
             {% endfor %}                          
      </select>                    
</div>

, и это работает!

...