创建类似Django Admin的前端表单
我很好奇有没有办法在前端复制Django的管理界面,特别是添加对象时的表单。我的情况是这样的:
class Area(models.Model):
name = models.CharField(max_length=100)
class SubArea(models.Model):
name = models.CharField(max_length=100)
area = models.ForeignKey(Area)
class Product(models.Model):
name = models.CharField(max_length=150)
area = models.ForeignKey(Area, null=True, blank=True)
subarea = models.ForeignKey(SubArea, null=True, blank=True)
如果我在前端为产品模型设置一个表单,我就无法添加区域或子区域对象。然而,在Django的管理界面中,我可以通过点击字段旁边的“+”轻松添加这些对象。
我希望找到一种尽可能简单的解决方案(同时又要安全),让前端能够创建外键,而不需要设置单独的表单。不确定这是否可能,但我想向社区寻求建议。
谢谢!J
3 个回答
0
django-form-admin
(.. 让我们输入更多字符,stackoverflow需要30个字符才能回答)
0
根据我的经验,在前端表单上添加、编辑和更新相关项目,最简单的方法就像在Django的管理后台那样,是使用“django-addanother”。你可以从这里找到它。这是一个简单、快速且干净的解决方案,适用于Django 1.11,并且有很好的文档和演示。
2
Django的后台管理系统大量使用了表单集合,具体可以参考下面的链接:
https://docs.djangoproject.com/en/1.6/topics/forms/formsets/
关于你提到的在Django后台添加“+”的功能,你可以使用一个叫做RelatedFieldWidgetWrapper的工具,详细信息可以在这里找到:这里。