Wagtail Nav Menus 是一个利用 StreamFields 提供高度可定制菜单的应用程序。
项目描述
Wagtail Nav Menus 是一个利用 StreamFields 提供高度可定制菜单的应用程序。
为什么
记得那些网站有逻辑上遵循相同结构的树形结构菜单吗?对于许多人来说,那些日子已经过去了。我们被要求创建任意菜单项,将值属性放在不是链接的菜单中,并使用 JavaScript 构建高度交互式的菜单。
Wagtail Nav Menus 通过使用流字段来支持菜单中的任意项,并为您提供选项,以将菜单渲染为 django 模板或 json,以便您的 JavaScript 工具使用。
内置组件
导航类别 - 其他组件的分组 - 用于子导航等
页面链接 - 指向Wagtail页面的链接
外部链接 - Django URLField链接
Django链接 - 反向查找Django视图
相对URL - 正则表达式强制执行的相对链接
图片
HTML
安装
使用pip安装wagtail-nav-menus。
将wagtail_nav_menus添加到INSTALLED_APPS。
设置
您可以使用类似的方法添加其他streamfields
from wagtail_nav_menus.defaults import WAGTAIL_NAV_MENU_TYPES_DEFAULT WAGTAIL_NAV_MENU_TYPES = WAGTAIL_NAV_MENU_TYPES_DEFAULT + [ ('page_link_with_image', 'nav_menus_ext.models', 'InternalPageImageBlock'), ('page_link_with_image', 'nav_menus_ext.models', 'NavAdvertBlock'), ]
此处的模式是('名称','模块路径','类名')
编辑菜单名称选项。默认为顶部和页脚。这些代表您的网页上的不同菜单。名称是任意的 - 但您将在模板中通过名称查找它们。
WAGTAIL_NAV_MENU_CHOICES_DEFAULT = ( ("top", "Top"), ("footer", "Footer"), )
用法
导航菜单应出现在Wagtail的设置侧边栏标签中。CMS用户可以在此处控制它们。
您可以使用一些模板标签在您的网站上使用这些标签。
API使用
如果使用Django Rest Framework访问菜单数据,此模块提供了一些开始使用的方法。
将NavMenuViewSet添加到您的Rest Framework路由器。
from wagtail_nav_menus.viewsets import NavMenuViewSet
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。