将数字类型数据添加到下拉列表(选择表单元素)

我有一个代码可以列出数据库中所有数据到下拉列表

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>

如何将参数传递给HTML中的obj2,我觉得我的观点是错误的,我需要帮助修复它,谢谢

P.S:我需要此views.py才能从此代码中进行依赖下拉

wangshaozhuang 回答:将数字类型数据添加到下拉列表(选择表单元素)

所以我已经知道答案了,所以我必须先将其添加到列表中,因为当我不将其添加到列表中时,它将显示最后一行,为什么不显示呢?因为在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>

它有效!

本文链接:https://www.f2er.com/3126852.html

大家都在问