Django管理的TreeWidget

django-treewidget的Python项目详细描述


提供模型字段treeForeverKey、treeOneField, treemantomanyfield,用于树模型,带有用于django的树小部件。使用 jstree(多亏了vakata)。

用django mptt和django treebeard测试,django 1.11&2.0.2。 与django<;1.11不兼容。

安装

  • pip install django-treewidget
  • 'treewidget'放入INSTALLED_APPS
  • 对于ajax树更新,添加到url.py的路由,例如 url(r'^treewidget/',include('treewidget.urls'))

用法

只需将任何外键、m2m或one2one tree model字段替换为 提供副本。

定制

字段理解另外两个参数:

  • settings:包含可选布尔值的字典 “显示按钮”(显示“展开”、“折叠”和“选定”按钮); “搜索”(用于树内搜索)、“dnd”(拖放支持)和 “排序”(在前端应用树顺序)。默认为{}
  • treeoptions:直接应用于jstree的设置。一定是 json字符串,如果作为字段的参数提供,则为python 字典。默认为treewidget.fields.TREEOPTIONS。请注意 一些小部件设置将覆盖treeoptions以保持工作。

这两个设置都可以在settings.py中作为项目范围提供 TREEWIDGET_SETTINGSTREEWIDGET_TREEOPTIONS

可以通过重写 默认格式化程序。只需将分支的父ID设置为“” 格式化程序的render方法中的顶级项。

注意:如果使用预过滤的queryset,则数据不构成 包含最高级别的所有父级的子树,jstree无法呈现 是的。设置中的“filtered”设置为True时 查询集将通过添加不可选择的缺失节点来呈现。

示例

fromdjango.dbimportmodelsfrommptt.modelsimportMPTTModelfromtreewidget.fieldsimportTreeForeignKeyclassMptt(MPTTModel):name=models.CharField(max_length=32)parent=TreeForeignKey('self',blank=True,null=True,on_delete=models.CASCADE)def__str__(self):returnself.name

呈现如下:

screenshot

屏幕截图

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

推荐PyPI第三方库


热门话题
为@Nonnull注释参数编写java单元测试   对于JAVA,如何从它自己的类调用插入排序来将数组分类到一个单独的类中?   Java中嵌套SQL查询的字符串解析   java在所有带有特定注释的方法上调用带注释的方面   在Java中将base64转换为PDF   无法在Android上强制转换java getApplicationContext()   雅加达ee Java ee:如何获取我的应用程序的URL?   IntelliJ:如何导入的文件夹。java文件作为库?   多线程Java(FX)在播放一种声音的同时,播放另一种声音   网络爬虫我需要将proto3版本中protobuf生成的java代码添加到nutch 1.7中   使用JAXRS注释资源的java Restlet客户端   java如何查找给定月份的日期范围   java Minecraft Bukkit插件:我的小游戏传送机不工作   Java Excel搜索和数组列表工作不正常