Che*_*zer 4 python flask flask-sqlalchemy flask-wtforms
我有一个 Flask sqlalchemy bootsrap 应用程序。我的模板在表格中呈现一个项目列表,我希望用户能够重新排列这些项目。这些项目通过标准 jinja2 显示
{% for item in List %}
{{item}}
{%end for%}
Run Code Online (Sandbox Code Playgroud)
那么我如何允许用户重新排列对象的顺序,然后记录这些更改?
我的一个想法是让jquery 可排序以允许重新排列,然后将新值发送到我的数据库(在提交时或在重新排列时)。
但是,我如何编写 sqlalchemy 语句来更新数据库中的相应行?javascript 和 python 之间的部分是什么,我可以在其中确定数据库中要更改的行?
jQuery UIsortable有一条toArray消息 - 当在可排序上调用它时,它会按照元素在 DOM 中出现的顺序返回元素的 ID。这可能是处理事情的最简单的方法:
<ul id="theSortableStuff">
{% for item in things_to_sort %}
<li id="item-{{ item.id }}">{{ item.name }}</li>
{% endfor %}
</ul>
<script>
var $sortables = $("#theSortableStuff").sortable({
stop: function() {
var sortedItems = $sortables.sortable("toArray");
// Update some form in the DOM or use AJAX to invoke a server-side update
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1887 次 |
| 最近记录: |