我希望做类似于如何向Django管理后台添加报告部分的事情,该问题解释了如何为管理站点注册自定义端点。如果我以这种方式注册URL,如何添加到该视图的链接?到目前为止,我找到的唯一方法是这样的:
class CustomAdmin(admin.ModelAdmin):
def changelist_view(self, request, extra_context=None):
return render(request, 'my_page.html')
class ProxyModel(models.MyModel):
class Meta:
verbose_name = 'Report'
verbose_name_plural = 'Report'
proxy = True
admin.site.register(ProxyModel, CustomAdmin)
这似乎是至少有两个原因的代码异味:
我在覆盖
changelist_view()
以渲染自己的报告模板,而不是一个“更改列表”。即使报告不依赖于模型或依赖于多个模型,它也需要代理模型。
是否有更好的方法来做这个?