【问题标题】:customizing admin of django to have dependent select fields自定义 django 的管理员以具有依赖的选择字段
【发布时间】:2012-01-12 21:27:17
【问题描述】:

我是 django 新手,我首先为我的网站开发管理面板。我需要有依赖的选择字段,这样在选择国家后,用户就可以选择城市。我希望当我选择国家/地区时,该国家/地区的城市选项会加载到城市选择框中,但我不知道如何自定义 django 管理员。我已经在 J​​S 中这样做了,使用 AJAX 和 PHP。所以我知道如何手动操作,但不知道如何在 django 中使用 ajax 以及如何自定义它。

关于我读到的其他一些应该阅读的问题,django 文档,因此我尝试阅读和查找管理文档,但找不到自定义 django 管理面板的方法。我是否需要为这些选择框自定义整页?或者请告诉我如何添加一些jquery代码以便我可以通过JS来完成?

【问题讨论】:

    标签: python django django-admin


    【解决方案1】:

    您可能希望使用django smart selects 中的分组选择功能。来自自述文件:

    如果您有以下型号:

    class Location(models.Model)
        continent = models.ForeignKey(Continent)
        country = models.ForeignKey(Country)
    

    并且您希望所有国家/地区都按大陆分组,并且在选择更改为以下时使用组:

    from smart_selects.db_fields import GroupedForeignKey
    
    class Location(models.Model)
        continent = models.ForeignKey(Continent)
        country = GroupedForeignKey(Country, "continent")
    

    【讨论】:

      【解决方案2】:

      关于如何自定义 django 管理员确实有很好的文档。例如Here,您可以查看如何重新定义管理模板。

      但是,在您提出的情况下,您建议的更简单的方法是添加一些 JavaScript 代码来添加字段额外的行为。您可以在模型的管理员中使用该代码指向 js 文件,如 here 所述。

      【讨论】:

        猜你喜欢
        • 2012-09-19
        • 2017-05-03
        • 2023-02-19
        • 1970-01-01
        • 1970-01-01
        • 2016-03-10
        • 1970-01-01
        • 1970-01-01
        • 2015-06-17
        相关资源
        最近更新 更多