django - 如何从Django_tables2行获取信息?

标签 django django-views django-tables2

我已经声明了一个表,并希望获取使用checkboxfield检查的行的值。任何帮助,我该如何在我的 View 中编写此事件,以便每次我选择一行并单击Submit按钮时,它将返回该行的值。代码如下所示:

    class mytables(tables.Table):
          new_database = tables.CheckBoxColumn()
          student =tables.Column(accessor='Student')
          Class = tables.Column(accessor='class')

在我的模板中有一个提交按钮。

最佳答案

您需要为CheckBoxColumn选择合适的值。通常,如果要显示查询集,则将每个对象的pk用作CheckBoxColumn。在您的情况下,它看起来像:

class EnrollmentTable(tables.Table):
    selection = tables.CheckBoxColumn(accessor='pk')
    student = tables.Column()
    class = tables.Column()

然后,您需要在表格中呈现表格,以便用户可以提交表格,例如:
<form action="/someurl/" method="post">
    {% load render_tables from django_tables2 %}
    {% render_table table %}
    <input type="submit"/>
</form>

然后,您需要连接到/someurl/的 View 。在您的情况下, View 将需要查看POST变量selection:
def someview(request):
    if request.method == "POST":
        pks = request.POST.getlist("selection")
        selected_objects = SomeModel.objects.filter(pk__in=pks)
        # do something with selected_objects
    else:
        # ...

关于django - 如何从Django_tables2行获取信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10850316/

相关文章:

linux - 如何使用 Apache 自动启动 Django Celery?

django - 从 Django View 返回多个项目(ajax)

database - 将 Django 模型从一个应用程序移动到另一个应用程序

python - Django Python - 在公共(public) header 中添加表值

python - 如何在django html模板中调用函数

django - 如何使用 Django-Tables2 导出 .csv?

django - 如何将 django-filter 与 django-tables2 一起使用

mysql - 大表复杂查询

django - 处理表单后出现NoReverseMatch错误后如何重定向到其他 View

django如何通过名称获取上下文项