Python 如何将SQL值链接到下拉菜单

Python 如何将SQL值链接到下拉菜单,python,html,sql,flask,Python,Html,Sql,Flask,我试图创建一个下拉菜单,使用SQL表第一列的信息来填充它。如何通过python和flask将数据库中的数据链接到下拉菜单 我已经尝试通过python中的if语句链接表结果。然而,这并没有显示任何信息 如果@app.route部分没有定义“image_name”,它也会返回,我该如何定义它 蟒蛇 def db_read(image_name): #print("Filename: ", filename ) file_name=[] try: with sq

我试图创建一个下拉菜单,使用SQL表第一列的信息来填充它。如何通过python和flask将数据库中的数据链接到下拉菜单

我已经尝试通过python中的if语句链接表结果。然而,这并没有显示任何信息 如果@app.route部分没有定义“image_name”,它也会返回,我该如何定义它

蟒蛇

def db_read(image_name):
    #print("Filename: ", filename )
    file_name=[]
    try:
        with sql.connect("translation.db") as con:
            cur = con.cursor()
            cur.execute('SELECT imagename FROM translations ORDER BY imagename ASC', (filename,))
            con.commit()
            file_name = cur.fetchall()
            # print("-----------------------------------------")
            # print("ROWS: ", rows)
            print("reading from DB successful")
    except:
        con.rollback()
        print("error in insert image name operation")
    finally:
        con.close() 
    return file_name

@app.route('/selectImage', methods=['GET','POST'])
def selectImage():
    file_name = db_read(image_name)
    print("image name: ", file_name)
    return render_template("selectImage.html")
HTML


{%x在文件_name%}
{{x}
{%endfor%}
下拉按钮

SQL的格式为(文件名、origtext、translation),称为“translations.db”

您不需要if循环。首先检查。默认情况下,选择第一个选项。
cur.fetchall
返回列表列表。因此,您需要输出
x[0]
。使用变量
image\u name
。但是这个变量是从哪里来的呢?然后在模板中对变量
文件名
执行迭代,该变量未在
渲染模板
中返回。
<div class="dropdown" action="getfileHelper" method="POST" enctype="multipart/form-data">
   <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data- 
   toggle="dropdown" aria-haspopup="true" aria-expanded="false">
      {% for x in file_name %}
         <option value="{{ x }}"{% if loop.first %} SELECTED{% endif %}>{{ x }}</option>
      {% endfor %}
      Dropdown button
   </button>
</div>