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第三方库


热门话题
Java 2D数组,查找包含元素   包含EBCDIC值的java打印字节数组未给出预期值   java应用程序重新启动,由于AndroidRuntime异常而无法运行   java在spring中对拦截器的使用   java ActiveMQ,代理接收要发送的消息的时间戳   JAVA:如何从需要启用Cookie的站点下载HTML文件?   邮件发送期间发生java证书错误   Java错误:类事务中的构造函数事务无法应用于给定类型   方法的Java对象空检查   Java如何在多个源文件夹之间使用全局变量?   二进制字符串到整数转换器中的java错误   java在关闭页面后保存数据   c#使用java客户端使用WCF restful Web服务?   java在从vimeo api获取后更改iframe src   API低于17的java Android AlertDialog setOnDismissListener   java如何将文本从对象的ArrayList设置为TextView?   java OpenCV Android imwrite给我一个蓝色图像   java能够在RecyclerView中同时单击两个项目   java将字节数组写入文件的快速方法