javascript - 对 Flask 中创建的表中的列进行排序

标签 javascript python flask

我编写了一个 Flask 应用程序,它以多列表格的形式显示一些数据。每列都有一个标题单元格。单击列的标题单元格,我想根据列的先前状态对列的内容进行向上或向下排序。由于点击检测发生在浏览器中,看来我需要创建一个 JavaScript 点击处理程序,它需要以某种方式通知服务器上的应用程序,然后服务器对表格进行排序并重新显示它。

我不是一名 JavaScript 程序员,我不知道如何建立这种联系。我怎样才能做到这一点?有没有更简单的方法来完成我想要的事情?

最佳答案

此操作不需要 JavaScript,您可以在渲染模板时提供带有排序参数的字典。不是完整的代码,但这应该可以传达想法:

sortparams = { 'sortby': 'column_name', 'sortdir': 'asc' }

...

return render_template('example.html', sortparams=sortparams)

根据设置,在模板中显示适当的表格列标题,并在用户单击标题时调用相同的 View ,并更改排序参数。

如果用户单击当前排序列的列标题,请按照以下方式重置排序:

{% if sortparams.sortby == 'column_name' %}
<a href="url_for('sameroute', sortby=None)">Column_Name, sorted by</a>
{% endif %}

如果调用 View 时未提供排序参数,则在渲染模板时使用指示“无排序”的默认值对其进行初始化。

编写一个方便的函数来提取排序参数,然后您可以在每个需要排序的路由中重复使用它。

如果您还完全生成了表格,并且不必手动重复数十列,那么这种方法显然效果最好。

关于javascript - 对 Flask 中创建的表中的列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45443769/

相关文章:

python - sklearn : Text and Numeric features with ColumnTransformer has value error

python - 使用 MethodType 将方法从一个实例动态添加到另一个实例

python - 在 python flask 中,如何获取路由函数之外的路径参数?

python - Flask request.form 为空,而 request.get_data() 不是

javascript - Highcharts 线未正确显示

javascript - 创建后向 (primefaces) jquery 日历添加选项

python - 如何将 tesseract 添加到我的 Docker 容器中以便我可以使用 pytesseract

python - 主管不使用 Gunicorn + Flask

javascript - 检测指令是否从 DOM 中移除

javascript - Onclick 用 javascript 动态添加到 td 元素不起作用