【问题标题】:How can I create admin-like look for the whole page in Django?如何在 Django 中为整个页面创建类似管理员的外观?
【发布时间】:2021-01-20 01:34:24
【问题描述】:

我正在使用 django 创建小型 Web 应用程序,它需要具有 4 个不同级别的访问权限。我已经创建了模型,并且管理员页面完成了我预期的 80%(对于大多数特权用户,即管理员),我真的很喜欢页面的默认管理员外观。我不确定我是否应该只扩展管理视图,但我希望为所有用户使用默认 UI(与他们的访问级别相关的不同颜色或导航栏等小变化) - 我该怎么做?我可以使用模型的默认模板/视图并根据它们稍微更改/添加新模板,而无需简单地扩展管理视图吗?我是 Web 应用程序的新手,目前陷入困境。

我只是喜欢默认的 UI 和外观,我希望有一种简单的方法来实现这种外观,这样我的 UI 部分就会变得轻松。

Tl;dr 我怎样才能保持整个页面的默认用户界面

【问题讨论】:

  • 您可以扩展/覆盖管理模板:stackoverflow.com/questions/6583877/…
  • 但是,如果我打算拥有不同级别的访问权限,我应该这样做吗?我想知道是否/要复制什么以不扩展管理员,但外观相似
  • 你所说的对我来说没有多大意义,也许我误解了你的要求/问题。如果您不想扩展或覆盖它,那么您需要编写自己的后端,或者将原件复制到本地项目并根据需要开始编辑它们。
  • 对不起,我所说的很有可能没有意义!所以我会尽量清楚一点。我喜欢管理 UI 的样子,但我不确定是否应该扩展它。我的应用程序基本上需要 4 级访问权限(管理员、普通用户等),所以我考虑复制默认外观并在不扩展管理员的情况下对其进行自定义,这就是为什么我要问是否以及如何去做。但是是否可以扩展我的管理员以实现为不同用户提供 4 个不同级别的访问权限和不同导航栏等的目标?
  • 覆盖就是这样,从 django 模板中获取副本并将它们本地放在您的应用程序/项目中,然后应用必要的更改。

标签: django user-interface templates view admin


【解决方案1】:

这是可能的,但由于管理 UI 与 Django 逻辑紧密相关,因此很难再现开箱即用的外观和感觉。同样,如果您希望这样做,您需要深入挖掘我提供的链接,您需要扩展它们并了解它们是如何构建的以便复制它们。简短回答有可能,但很不方便

如果您的问题是,我是否应该将其扩展到我的用户,官方文档的答案很明确:

管理员推荐的使用仅限于组织的内部 管理工具。它不适用于构建您的整个前端 周围。

但是,自定义和扩展基本功能非常容易(尽管您可以自定义任何内容)by overriding the template

如果你想拥有不同的管理页面、外观和行为,你可以定义不同的instance of the admin object

【讨论】:

  • 我不认为它回答了我的问题。我真的不想将管理扩展到我的用户,也不想拥有不同的管理页面。我希望我的页面对整个页面具有相同/相似的管理外观 UI,但不是通过扩展它。我只是想重用原始模板或视图,我正在询问如何做到这一点。
  • 这是可能的,但由于管理 UI 与 Django 逻辑紧密相关,因此很难再现开箱即用的外观和感觉。同样,如果您希望这样做,您需要深入挖掘我提供的链接,您需要扩展它们并了解它们是如何构建的以便复制它们。简答有可能,但很不方便
  • 非常感谢!这几乎总结了它:)。我考虑了一下,因为我认为这可能更容易,但结果完全相反:) 谢谢
  • 很高兴它有帮助,我已经编辑了我的问题,以便用户可以找到正确的答案,请用我的答案将其标记为已解决,以帮助其他 @afdkj
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-26
  • 1970-01-01
  • 2013-02-16
  • 1970-01-01
  • 2020-03-16
  • 1970-01-01
  • 2011-04-21
相关资源
最近更新 更多