You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask+SQLAlchemy+Jinja2中去除项目编号的元组括号与逗号方法

解决自动补全项目编号格式问题

问题根源在于:使用with_entities(Element.ProjectNumber).distinct()查询返回的是元组对象列表(例如[(24403,), (24404,)]),模板中直接输出元组就会显示成(24403,)这类带括号和逗号的格式。

下面提供两种可行的修复方案:

方案一:后端处理(推荐)

修改app.py中的查询逻辑,直接把元组转换成纯数字列表:

@app.route("/", methods=["POST", "GET"])
def basicTemplate():
    # 从查询结果的元组中提取项目编号,得到纯数字列表
    project_number = [item[0] for item in Element.query.with_entities(Element.ProjectNumber).distinct()]
    if request.method == "GET":
        return render_template('search.html', navigation=project_number)

方案二:前端模板处理

如果不想改动后端代码,直接在search.html的循环里提取元组的第一个元素:

<script>
    $( function() {
      var project = [
          {% for test in navigation %}
              "{{test[0]}}",
          {% endfor %}
      ];
      $( "#project_code" ).autocomplete({
        source: project
      });
    } );
</script>

两种方案都能让自动补全栏显示纯数字格式的项目编号(如24403),推荐方案一,因为数据格式处理放在后端更符合职责划分,前端只需负责渲染展示。

内容的提问来源于stack exchange,提问作者Viktoria Robinson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 01:21:06