Django CMS 反向管理
Django CMS reverse-admin
我是 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.
我不知道如何解决这个问题。在这种情况下,任何人都可以帮助我吗?
reverse-admin 到底是什么?
这是 documentation, and here's the source code 的 link。
admin_reverse
所做的是解析 django 模型的管理 (list/add/edit) 视图以在 djangocms 模态中显示它。
在你的情况下,像这样的事情应该有效:
admin_reverse('blog_pluginmodel_changelist')
或
admin_reverse('blog_pluginmodel_add')
更抽象的方式:reverse_admin('appname_modelname_adminview')
.
P.S.: 我不确定插件模型是否真的是你想要通过工具栏访问的,但那是另一个讨论。
我是 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.
我不知道如何解决这个问题。在这种情况下,任何人都可以帮助我吗?
reverse-admin 到底是什么?
这是 documentation, and here's the source code 的 link。
admin_reverse
所做的是解析 django 模型的管理 (list/add/edit) 视图以在 djangocms 模态中显示它。
在你的情况下,像这样的事情应该有效:
admin_reverse('blog_pluginmodel_changelist')
或
admin_reverse('blog_pluginmodel_add')
更抽象的方式:reverse_admin('appname_modelname_adminview')
.
P.S.: 我不确定插件模型是否真的是你想要通过工具栏访问的,但那是另一个讨论。