有没有一种简单的方法可以完全定制Django Admin Site来显示非字段的变量?



我意识到我可以覆盖模板,并且我在过去已经更改了添加模型表单和更改模型表单。然而,我发现覆盖模板有点令人困惑,而且很难完全自定义。我的问题是,我想显示(与一个可编辑的文本框)变量不是字段,我有一个困难的时间弄清楚如何做到这一点。因为Django模型字段不能是列表(我知道你可以把它变成一个字符串,然后像列表一样解析它),但基本上我想把我所有的信息存储在一个字段中(因为它都是相关的,不会让我已经很长的模型更长),但然后在管理网站上显示它们作为单独的字段。这是可能的还是有一个简单的方法来做到这一点,而不完全覆盖模板代码?此外,它肯定会约束我的模型,因为我查询了我想要存储的变量的最大字段量。所以我有8个字段以防万一,但我的大多数模型只使用2或3个字段,因为我不知道有多少字段将被使用,我希望它是动态的。举个例子。

我的模型是这样的:

models.py

class MyModel(Model.model):
    field1 = models.FloatField(null=True, blank=True)
    field2 = models.FloatField(null=True, blank=True)
    field3 = models.FloatField(null=True, blank=True)
    field4 = models.FloatField(null=True, blank=True)
    field5 = models.FloatField(null=True, blank=True)
    field6 = models.FloatField(null=True, blank=True)
    field7 = models.FloatField(null=True, blank=True)
    field8 = models.FloatField(null=True, blank=True)

理想情况下,我希望将所有信息存储在一个字段中,作为字符串,当我解析它时,它就像列表一样。

class MyModel(Model.model):
    field = models.FloatField(null=True, blank = True)`

但是,我想在我的管理网站上显示只有一个字段的8个框。这可能不需要对模板代码进行重大的重构吗?

任何帮助都将非常感激!

管理页面只是django源代码中的一个应用程序,就像你可以编写的任何其他应用程序一样。所以从这个意义上说,它可以完全定制。我建议您查看

中的源代码。
<wherever you keep django>/django/contrib/admin

,看看它目前是如何实现的,你可以c/p任何代码,并修改它,无论你想。

但是,有没有一种简单的方法可以完全定制它的方式,你正在寻找没有重大重建?我不这么认为。

最新更新