django应用程序管理简单导航。

mojo-navigation的Python项目详细描述


PyPI versionbuild-statuscoverage

魔咒导航

这个django应用程序使用简单的功能管理导航树。它的灵感来自于django treenav和django sitetree。它提供了一个更轻的版本,以方便定制。

树结构使用mptt。每个项目都提供了各种选项来生成url,在给定用户状态和权限、类和行为的情况下限制访问。

变更列表视图:

https://box.everhelper.me/attachment/342272/1VqyhRX5tQTX7AFhZZpY6HdPzrPh3QmW/341506-7MaquApmPbU02vSZ/screen.png

添加视图:

https://box.everhelper.me/attachment/342274/1VqyhRX5tQTX7AFhZZpY6HdPzrPh3QmW/341506-JJ7ps4S6TNfi1DI6/screen.png

安装

强烈建议从git和pip将此主题安装到项目virtualenv上。

来自PYPI

pip install mojo-navigation

来自Github

https://github.com/django-mojo/mojo-navigation#egg=mojo-navigation

设置

此应用程序与django mptt模块一起工作,以显示树。强烈建议将其添加到已安装的应用程序中。

INSTALLED_APPS=(...'django_mptt'...)

如果要使用默认的模型和管理,还需要安装模块本身。

INSTALLED_APPS=(...'mojo.navigation'...)

然后使用

python manage.py syncdb

如果您使用的是South,您也可以选择这样做:

python manage.py migrate mojo.navigation

经理

有两个主管理器来帮助排序和过滤菜单项。

您可以通过在中传递slug来获取特定树的所有项,例如:

tree_items=Item.objects.for_slug('slug_exemple')

用户

因为我们对项目使用权限。您可以为特定用户筛选项目,以便检索他有权访问的所有项目,方法是在用户管理器的中传递其对象,例如:

tree_items=Item.objects.for_user(request.user)

utils

级别

可以限制树的树级别数。例如,有些菜单只能是一个或两个级别。在这种情况下,允许用户添加更多内容是无用的。

为了限制级别数,您需要创建一个继承自mojo.navigation.admin.itemadmin的自定义管理类,并添加一个具有所需值的level\u limit属性。

例如,这将限制树的两个级别:

frommojo.navigation.adminimportItemAdminclassCustomItemAdmin(ItemAdmin):level_limit=1

贡献

请随意贡献。非常感谢您的帮助和建议。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何使用Java中的扫描仪读取文本文件中的特定字符?   java如果我们在hibernate中开始事务但不提交它,会发生什么?   Azure CosmosDB Java Springboot中的无服务器帐户不支持spring boot设置提供吞吐量或容器自动导航   附加到新对象的Java注释?   java如何将自定义文本视图添加到。在Kotlin中添加通知操作   java Shibboleth添加_OpenSAMLcookies,导致HTTP头大小>8k   分布式传感器数据(~40Hz)的高效Java观测器设计   java如何在while循环外声明数组,但在while循环中初始化它?   用@XmlElementRef注释的java元素没有显示在JAXB编组字符串中?   java替换二维数组的值   java如何在任务栏上创建Windows7加载栏   java如何在组件注释bean中使用会话或RequestScope bean?   java netbeans freermarker插件错误:在实现版本中请求netbeans桥的插件Lexer   java谷歌地图方向。加载失败,返回服务器错误   java当我试图递归地计算两个值之间的整数之和时,为什么结果返回一个奇怪的值?   java如何通过html文件的用户获取运行时输入,以使用Jsoup进行解析?