【问题标题】:Django CMS reverse-adminDjango CMS 反向管理
【发布时间】:2019-11-10 18:31:46
【问题描述】:

我是 django CMS 的新手,我正在尝试添加我的博客的 toolbar

这是我的cms_toolbar.py 文件

from cms.toolbar_base import CMSToolbar
from cms.toolbar_pool import toolbar_pool
from blog.models import BlogPluginModel
from cms.utils.urlutils import admin_reverse


class PollToolbar(CMSToolbar):

    def populate(self):
        menu = self.toolbar.get_or_create_menu(
            'blog_pluginmodel',  # a unique key for this menu
            'blog',                        # the text that should appear in the menu
            )
        menu.add_modal_item(
            name='Add a new blog',                # name of the new menu item
            url=admin_reverse('blog_pluginmodel'),  # the URL it should open with
        )

toolbar_pool.register(PollToolbar)

但是在下面给我一个错误:

NoReverseMatch at /en/
Reverse for 'blog_pluginmodel' not found. 'blog_pluginmodel' is not a valid view function or pattern name.

我不知道如何解决这个问题。在这种情况下有人可以帮助我吗?

什么是反向管理?

【问题讨论】:

    标签: django django-cms


    【解决方案1】:

    这是documentation 的链接,这是source code

    admin_reverse 所做的是解析 django 模型的管理(列表/添加/编辑)视图以将其显示在 djangocms 模态中。

    在你的情况下,这样的事情应该可以工作:

    admin_reverse('blog_pluginmodel_changelist')
    

    admin_reverse('blog_pluginmodel_add')
    

    以更抽象的方式:reverse_admin('appname_modelname_adminview')

    P.S.:我不确定插件模型是否真的是您想要通过工具栏访问的,但这是另一个讨论。

    【讨论】:

      猜你喜欢
      • 2019-11-04
      • 1970-01-01
      • 1970-01-01
      • 2017-06-06
      • 2016-03-25
      • 1970-01-01
      • 1970-01-01
      • 2018-04-12
      • 2010-12-29
      相关资源
      最近更新 更多