我有以下型号
class InfoBoxType(models.Model):
name = models.CharField(max_length=255)
class InfoBox(models.Model):
type = models.ForeignKey(InfoBoxType)
product = models.ForeignKey(Product)
content = models.TextField()
def __unicode__(self):
return self.type.name
我的信息框在管理员中用作内联(因此我可以动态添加我想要的数量)。
我想根据用户在类型下拉列表中选择的内容呈现不同的表单。 我有以下InfoBoxTypes:
Table, Text and BulletList
如果用户选择BulletList,我想渲染一个textinput和“再添加一个”按钮(就像管理员使用常规内联一样,但这是一个嵌套的内联...) 如果用户选择Text我想渲染Textarea等等......
我的问题是,我可以以某种方式为此创建模板,或者我是使用Textfield保存JSON然后根据用户选择的方式使用javascript生成表单的最佳解决方法吗?