gpt4 book ai didi

django - 为夹层中的非模型 View 添加自定义管理类别和页面

转载 作者:行者123 更新时间:2023-12-02 06:41:51 24 4
gpt4 key购买 nike

我需要向夹层管理添加自定义 View ,这是一个统计和报告仪表板,不受模型支持,而是由 API 调用支持。

我有以下问题:1. 在哪里添加自定义模块?它应该位于我的应用程序中的/theme 目录下还是应用程序本身的根目录中?2. 如何注册此模块以显示左侧边栏导航菜单的 View ?

最佳答案

我做了类似的事情,我想将 jqGrid 报告添加到管理界面。这是现有数据的报告(自定义产品 View ),因此它没有自己的模型。此功能几乎已内置到 Mezzanine 框架中,只需添加一些内容。

要使菜单项显示在左侧菜单中,需要将其添加为 settings.py 中的 ADMIN_MENU_ORDER。

ADMIN_MENU_ORDER = (
("Content", ("pages.Page", "blog.BlogPost", "generic.ThreadedComment", ("Media Library", "fb_browse"))),
(("Shop"), ("shop.Product", "shop.ProductOption", "shop.DiscountCode", "shop.Sale", "shop.Order",("Product Report", "product_report_view"))),
("Site", ("sites.Site", "redirects.Redirect", "conf.Setting")),
("Users", ("auth.User", "auth.Group")),
)

除“产品报告”部分外,以下所有项目都是默认墨盒设置的一部分。通过放置元组而不仅仅是模型名称,第一个元素将成为菜单项的名称,第二个元素是所使用的 View 的名称。

("Product Report", "jqgrid_sample_view")

如果您使用模型名称(例如“shop.Product”),则使用 shop.Product 模型,并将模型的名称用作菜单项。

就我而言, View 的目的是使用 jdqGrid 渲染 jqGrid但您可以将其调整为您想要的任何 View 。

def jqgrid_sample_view(request):
grid = ProductGrid
request.grid = grid
return render(request, 'product_report.html', {'grid': grid})

当单击“产品报告”链接时, View 生成的 HTML 会插入 Mezzanine 管理页面的内容区域。

关于django - 为夹层中的非模型 View 添加自定义管理类别和页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27494065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com