如何从Django_tables2行获取信息?

Kar*_*ran 6 django django-views django-tables2

我已声明了一个表,并希望获取行的值,该值使用checkboxfield进行检查.任何帮助,我如何在我的视图中编写此事件,以便每次我选择一行并点击提交按钮,它返回行的值.代码如下所示:

    class mytables(tables.Table):
          new_database = tables.CheckBoxColumn()
          student =tables.Column(accessor='Student')
          Class = tables.Column(accessor='class')
Run Code Online (Sandbox Code Playgroud)

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

bra*_*ers 16

你需要选择一个合适的值CheckBoxColumn.通常,如果您正在显示一个查询集,您将使用pk每个对象的CheckBoxColumn.在你的情况下,这将是:

class EnrollmentTable(tables.Table):
    selection = tables.CheckBoxColumn(accessor='pk')
    student = tables.Column()
    class = tables.Column()
Run Code Online (Sandbox Code Playgroud)

然后,您需要在表单中呈现表,以便用户可以提交表单,例如:

<form action="/someurl/" method="post">
    {% load render_tables from django_tables2 %}
    {% render_table table %}
    <input type="submit"/>
</form>
Run Code Online (Sandbox Code Playgroud)

然后你需要一个连接的视图/someurl/.在您的情况下,视图将需要查看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:
        # ...
Run Code Online (Sandbox Code Playgroud)