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从CQ5获取搜索词建议。5指数   java如何创建在一列中嵌入按钮的tableview?   java使用postman为SLACK生成身份验证令牌   java选择具有最大日期休眠的行   java Jenkins在部署SpringMVC JPA webapp MySQL连接时未释放HikariCP   修改JSF UIComponent时未更改java实体属性   java Sprite图像出现拉伸且质量差,无法获得正确的位置GDXLib   java如何将分数正确地分配给玩家?   java如果“private static int”实例变量未初始化,它是否等于零?   java这个LimitedInputStream正确吗?   java如何调用使用JNA返回字符串的Delphi函数?   java JPA更新实体,包括实体列表   java制作流副本的最有效方法是什么?   java无法导入安卓支持IntelliJ项目   java分别乘以负音值和正音值   每秒验证/断言的java JMeter请求数