【问题标题】:Variable number of inputs with Django使用 Django 的可变输入数量
【发布时间】:2021-02-10 12:12:12
【问题描述】:

目前我正在制作一个基于 chamilo 的平台,但由于模板的测试形式而陷入困境。原因是因为我必须从表单中获取数据并组织通过 chamilo api 休息发送。目前这种形式由 6 个静态隐藏输入组成,但真正的问题是根据问题数量生成的其他输入。 在 forms.py 文件中,我为此表单定义了一个类,但只有 6 个输入,但我不知道如何处理来自测试答案的变量输入,因为测试有不同数量的问题和答案

class Ejercicios(forms.Form):
    c_id = forms.CharField()
    lp_id = forms.CharField()
    item_id = forms.CharField()
    item_viewId = forms.CharField()
    exe_id = forms.CharField()
    time = forms.CharField()

forms.py 中的类是这样的,如何动态添加不同数量的额外表单?

【问题讨论】:

标签: python python-3.x django django-forms


【解决方案1】:

您可以将JSONField 用于您的班级模型:

用于存储 JSON 编码数据的字段。在 Python 中,数据是 以其 Python 原生格式表示:字典、列表、字符串、 数字、布尔值和无。

from django.contrib.postgres.fields import JSONField

class Ejercicios(models.Model):
    ...
    data = JSONField(default=dict)
    ...

对于 Django 3.1 及更高版本,请改用 django.db.models.JSONField

另见Querying JSONField

【讨论】:

  • 谢谢它对我有用,只需要修改模板
  • @JuanDavidPolo,乐于助人?
猜你喜欢
  • 2010-09-29
  • 1970-01-01
  • 2012-04-28
  • 2022-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多