django-cms 2.2,django 1.3.1
我正在创建一个名为gallery的应用。 Gallery里面有照片。 (有很多画廊)
我有以下结构:
name=gallery_details
网址结构:
/gallery-list/
- 画廊列表页面/gallery-list/1/
- pk = 1 gallery /another-gallery-list/
- 图库列表的另一页/another-gallery-list/1/
- pk = 1图库的照片(与/gallery-list/1/
相同但不同的网址)django-cms页面结构:
/gallery-list/
获取图库列表/another-gallery-list/
用于图库列表(相同但不同的实例)菜单:
问题:如何为这些图库生成菜单?
目前我正在创建CMSAttachMenu并生成节点(来自模型)。我如何制作网址?我正在尝试使用reverse('gallery_details', args=[self.pk])
(get_absolute_url
方法),但它给了我网址:/galleries/<id>/
。我希望得到的是/gallery-list/1/
和/another-gallery-list/1/
,具体取决于附加 apphook 的网页。
以下是我正在使用的文档:http://docs.django-cms.org/en/2.2/extending_cms/app_integration.html#app-hooks
非常感谢帮助。
答案 0 :(得分:0)
以下内容应该有效。当有项目列表和项目详细信息页面时,我为Project
应用做了类似的事情。
class GalleryMenu(CMSAttachMenu):
name = _("Gallery Menu")
def get_nodes(self, request):
c=itertools.count()
nav = [
NavigationNode(
_(g.title),
reverse("gallery_detail", kwargs={ 'slug' : g.slug }),
next(c), parent_id=0
)
for i,g in enumerate(Gallery.objects.all()) ]
return nav