创建类似Django Admin的前端表单

3 投票
3 回答
3713 浏览
提问于 2025-04-18 18:40

我很好奇有没有办法在前端复制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的工具,详细信息可以在这里找到:这里

撰写回答