2016-09-13 88 views
2

如何向所有管理页面添加额外上下文?将上下文添加到每个Django管理页面

我对站点的管理员部分使用默认的Django Admin。

这里是管理员的URL条目:

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
] 

而且我的应用程序使用注册自己的标准视图模式:

admin.site.register(Tag, TagAdmin) 

我的问题是,我要显示在管理一个额外的字段模板标题栏,我不知道如何添加这个额外的上下文。

我的第一个投注是将它的网址模式,如下面:

urlpatterns = [ 
    url(r'^admin/', admin.site.urls, {'mycontext': '123'}), 
] 

但是,这给出了一个错误:

TypeError at /admin/tickets/event/4/change/ 

change_view() got an unexpected keyword argument 'mycontext' 

你能给什么建议吗?我真的不想修改每个AdminModel类,因为我需要在每个管理页面上插入这个上下文。

感谢。

回答

1

实测值的溶液中,URL注册必须是:

urlpatterns = [ 
    url(r'^admin/', admin.site.urls, {'extra_context': {'mycontext': '123'}}), 
] 

及其与'extra_context'作为密钥字典的内部的上下文字典。

相关问题