由sql填充的Python表单下拉选项

时间:2015-04-09 21:52:47

标签: python html forms postgresql

这是我的第一篇文章。我对编程很新。我试图在Python中构建一个包含下拉列表的html表单。下拉选项,我目前有硬编码,但希望从sql填充选项,以便在数据库更新选项时动态更改。我还必须提一下,这个下拉列表被用作数据表的搜索/过滤器,数据表也是从数据库中填充的。

请提供任何建议。

硬编码下拉列表:

<div class="dropdown col-lg-2">
  <label for="form_status" id="form_status">STATUS</label>
    <select class="form-control input-sm" id="form_status" name="form_status">
      <option {% if var_status == ""%}selected="selected"{% endif %} value=""></option>
      <option {% if var_status == "1001"%}selected="selected"{% endif %} value="1001">Active</option>
      <option {% if var_status == "1018"%}selected="selected"{% endif %} value="1018">Obsolete</option>
    </select>
</div>

搜索过滤器的代码隐藏

if request.method == 'GET':
    var_status = ''

if request.method == 'POST':

    if 'form_status' in request.POST and request.POST['form_status']:
        var_status = request.POST['form_status']

SQL查询:

SELECT  DISTINCT "CODE" AS status_code, "LONGDESC" AS status FROM v_status WHERE "CODE" =1001 OR "CODE" = 1018 ORDER BY "CODE"


1001 | Active
1018 | Obsolete

1 个答案:

答案 0 :(得分:0)

这里需要多少细节。您有SQL查询但没有存储它的对象。你是否熟悉从python运行SQL查询? 如果是这样,那么简单的for循环和字符串格式化将从数据库结果中构建选项。

for line in sqlResponse:
    print("<option value='%s'>%s</option>" % (
        str(line.status_code), str(line.status)
    )

如果没有,那么在不知道您的数据库是什么以及您打算使用哪个库的情况下,除了首先在python教程中查看基本SQL并决定适用于您的框架/库之外,没有简单的答案。数据库。我个人使用SQLAlchemy ORM和Python。