【问题标题】:Custom Django admin panel自定义 Django 管理面板
【发布时间】:2012-04-16 10:22:37
【问题描述】:

我想将 Django 用于我正在构建的具有管理面板的 Web 应用程序。我知道您只需激活管理应用程序即可开始使用。但是,我想要一个自定义面板,我的意思是,我想自己设计布局,我想为管理员添加菜单和表单以在数据库中插入新数据等。有可能吗?或者我应该写一个类似的应用程序,将有这样的功能?

【问题讨论】:

  • 所以不要使用管理员,只需使用 Django 表单即可。
  • 我也可以自定义他们的外观吗?我的意思是,我想先设计我的页面,然后使用 Python 来处理控件和模型等。
  • 是的,当然。您在 HTML 中使用 Django 的模板语言来提取表单和您需要的任何其他信息。查看 Django 教程和 Django 表单文档。
  • 所以我可以先创建我的页面,然后在其中嵌入 Python 脚本?我不知道 Python 是用 PHP 做的 ..
  • 不,你没有在你的页面中嵌入 Python。您将 HTML 嵌入模板中,这些模板使用自己的语言编写,由 Python 加载和解析。因此,您可以自己编写显示 HTML/CSS,但表单本身的 HTML 是由 Django 编写的。阅读文档。

标签: django django-admin


【解决方案1】:

要更好地控制布局(自定义菜单等),您应该查看django-admin-tools

如果您查看 Django 的文档,您会发现您可以轻松地调整和覆盖管理员的大部分内容。例如,这里是一个关于如何使用自定义表单的演示: https://docs.djangoproject.com/en/dev/ref/contrib/admin/#adding-custom-validation-to-the-admin

所以管理员非常可定制的。但是,您是否应该构建自己的应用程序或重用管理员的问题很大程度上取决于您的特定需求。至少要确保您知道管理员可以轻松地向哪些方向弯曲。

【讨论】:

    【解决方案2】:

    Django 的admin 的唯一目的是允许您操作(添加/编辑/删除)数据库中的数据。我认为您至少应该尝试检查管理员的能力,然后再尝试重新发明轮子。您很快就会发现管理员允许您拥有的复杂洞察力级别。然后你会发现自己制作是不必要的额外工作,你最终会修改一些管理模板和 CSS 样式。

    【讨论】:

      【解决方案3】:

      是的,你可以自定义 Django 管理面板,Django 提供了一些自定义来显示数据库表结构,你可以关注 DJANGO ADMIN SITE DOC ,它真的会帮助你。

      对于 Django 管理站点设置之外的自定义,您可以自定义管理面板添加手动布局,方法是在存储在 Django 环境中的 Django 模板文件中添加手动详细信息,django/django/contrib/admin/templates/admin/index.html 您当前的 Django 版本。你可以根据需要更新它的HTML、CSS和JS。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-16
        • 1970-01-01
        • 2011-03-09
        • 2016-08-15
        • 2018-09-07
        • 2017-06-22
        • 2012-09-26
        相关资源
        最近更新 更多