有没有一种简单的方法可以完全定制Django管理站点以显示非字段的变量?

有没有一种简单的方法可以完全定制Django管理站点以显示非字段的变量?,django,python-2.7,django-models,django-templates,django-admin,Django,Python 2.7,Django Models,Django Templates,Django Admin,我意识到我可以覆盖模板,而且我过去曾经修改过添加模型表单和更改模型表单。然而,我发现覆盖模板有点混乱,很难完全定制。我的问题是,我想显示(带有可编辑文本框)不是字段的变量,我很难弄清楚如何做到这一点。因为Django模型字段不能是列表(我知道你可以把它做成一个字符串,然后像列表一样解析),但基本上我想把我所有的信息都存储在一个字段中(因为它都是相关的,不会让我已经很长的模型变得更长),然后在管理站点上显示为单独的字段。这是可能的,还是有一种不完全覆盖模板代码的简单方法?此外,当我查询要存储的变量

我意识到我可以覆盖模板,而且我过去曾经修改过添加模型表单和更改模型表单。然而,我发现覆盖模板有点混乱,很难完全定制。我的问题是,我想显示(带有可编辑文本框)不是字段的变量,我很难弄清楚如何做到这一点。因为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
/django/contrib/admin
看看它目前是如何实现的,你可以c/p任何代码,并根据你的需要修改它


但是,有没有一种简单的方法可以完全按照您所期望的方式进行定制,而无需进行重大重建?我不这么认为。

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

<wherever you keep django>/django/contrib/admin
/django/contrib/admin
看看它目前是如何实现的,你可以c/p任何代码,并根据你的需要修改它


但是,有没有一种简单的方法可以完全按照您所期望的方式进行定制,而无需进行重大重建?我不这么认为。

谢谢!我真的很感谢你的回答。开枪,这就是我害怕的。我以前在那里查看过修改我的AddForm并根据用户表单的设置更改表单表单,因此我将更仔细地查看源代码!没问题!是的,这太糟糕了,但我认为你花在阅读源代码上的时间并不是真的浪费时间——你学到了很多用Django做事情的最佳方法,谢谢!我认为你是对的。在我最初深入研究源代码时,它有点让人困惑,但它确实帮助我改变了我的表单。这将是一个更深入一点,但我会学到更多!如果你接受这个答案,那也太棒了:)是的,我已经接受了!它是否显示为已接受?我还不能公开影响显示的帖子,因为我不经常发布。谢谢!我真的很感谢你的回答。开枪,这就是我害怕的。我以前在那里查看过修改我的AddForm并根据用户表单的设置更改表单表单,因此我将更仔细地查看源代码!没问题!是的,这太糟糕了,但我认为你花在阅读源代码上的时间并不是真的浪费时间——你学到了很多用Django做事情的最佳方法,谢谢!我认为你是对的。在我最初深入研究源代码时,它有点让人困惑,但它确实帮助我改变了我的表单。这将是一个更深入一点,但我会学到更多!如果你接受这个答案,那也太棒了:)是的,我已经接受了!它是否显示为已接受?我还不能公开影响显示的帖子,因为我不经常发布。