【发布时间】:2016-04-06 00:40:00
【问题描述】:
首先,我必须承认我对 Django 完全陌生。 我遇到了一个问题,但可能我只是不知道如何正确放置它以在网络上获得适当的帮助。因此,我感谢任何形式的帮助,并提前感谢您对我作为新手的耐心。^^
在我的 models.py 中,我定义了几个名为“choice_1”、“choice_2”等的 RadioSelects。在我的 template.html 中,我循环遍历 Django 的 form 对象以在一个表中获取所有 RadioSelects,这非常好:
<table class="table">
{% for field in form %}
<tr>{% formfield field %}</tr>
{% endfor %}
</table>
这是我的问题:
现在我想将表单“拆分”到几个页面上,即我希望将每个 RadioSelect 放在同一个 HTML 模板中的单独页面上。为此,我在网上搜索并偶然发现了两种我能想到的解决问题的方法:
In this thread,例如,推荐使用
slice模板过滤器。对我来说,这似乎是一个完美的解决方案,因为它可以通过使用{% for fields in form|slice:":1" %}轻松实现。但是,我无法使用slice完成它;实际上,它似乎并没有改变任何东西。另一个想法是某种“分页”或类似的东西。我已经找到了 django-build-in
pagination类,但我无法解决问题。
不知道如何解决此问题,非常感谢您的帮助。非常感谢您并祝您好运,fh_!
【问题讨论】:
-
您是否转换为第一个选项中提到的列表?
-
@oneyka:实际上,我认为
form对象已经是列表形式了。可能,我应该注意到我正在使用一个名为 oTree 的 Django 项目,它允许对社会科学领域的实验进行编程。文档声明“form是一个特殊变量。它是一个 Django 表单对象,它是一个迭代,其元素是 Django 表单字段对象。formfield可以将 Django 字段对象作为参数,也可以是像 {% formfield player.foo %} 和 {% formfield group.foo %} 这样的表达式,但 player.foo 必须写成文字 ..."
标签: django forms pagination views