在ADMIN_MENU_ORDER中创建自定义项

时间:2014-07-13 22:01:12

标签: python django mezzanine

我无法理解如何使用ADMIN_MENU_ORDER的自定义功能?

我想做这样的事情 -

ADMIN_MENU_ORDER = (
     ("Content", ("pages.Page", "blog.BlogPost",
        "generic.ThreadedComment", ("Media Library", "fb_browse"),)),
     ("Site", ("sites.Site", "redirects.Redirect", "conf.Setting")),
     ("Users", ("auth.User", "auth.Group",)),
     ("MYAPP", ("View1", "app_view1")),
 )

从我收集的内容中,我需要使用来自网址的重定向,但是 我在做什么?我假设的是我在MYAPP中这样做了吗?

urls.py

urlpatterns = patterns('',
    url(r'^view1/$', 'View1', name='app_view1'),
)

然后在我的views.py

中生成该内容
class View1():
    queryset = model.objects.all().values('fielda', 'fieldb', 'fieldc')

    def get(self):
        return queryset

我的自定义菜单项仍未显示。我猜我需要将它们解析为模板或以夹层代码可以使用的格式返回结果?在哪种情况下,该格式需要什么?

1 个答案:

答案 0 :(得分:1)

你在问题​​中粘贴了一个例子:

("Media Library", "fb_browse")

来自文档:http://mezzanine.jupo.org/docs/admin-customization.html#custom-items

可以将自定义导航项注入到 通过使用两个项目指定项目来设置ADMIN_MENU_ORDER 序列,第一项包含标题,第二项包含 命名的urlpattern,解析为要使用的url。

不需要重定向。您只需要使用urlpattern名称。你的urlpatterns没有被命名,他们看起来像:

urlpatterns = patterns('',
    url(r'^view1/$', 'view1', name='my_view1'),
    url(r'^view2/$', 'view2', name='my_view2'),
)

然后:

ADMIN_MENU_ORDER = (
    ...
    ("MYAPP", (("First", "my_view1"), ("Second", "my_view2"))),
)