跳转到主要内容

基于异构树编辑器的Django内容管理系统框架。

项目描述

Widgy:Django树编辑器

Build Status

Widgy类似于CKEditor的内容编辑器。尽管它不是所见即所得编辑器。与CKEditor相比,Widgy更适合用于编辑页面,例如在CMS中,因为它允许您编辑页面的特定部分,并且这些部分知道如何渲染自己。而所见即所得编辑器将数据存储在HTML中,Widgy则将其存储在一个树中,每个节点都可以自己渲染。

Widgy采用Apache 2.0许可协议。在GitHub上贡献。

文档

http://docs.wid.gy阅读Widgy的文档。

安装

使用pip安装。

pip install django-widgy

在开发Widgy时,克隆存储库然后安装它可能很有用。

git clone git://github.com/fusionbox/django-widgy
cd django-widgy
pip install -e .

设计理念

http://docs.wid.gy/en/latest/design/data-model.html阅读有关Widgy数据模型的更多信息。

贡献

有一个开发者邮件列表可供使用,地址为widgy@fusionbox.com

运行测试

pip install -r requirements-test.txt
make test

make test 将运行JavaScript和Python测试。要测试其中一个,请使用make test-jsmake test-py

$ tox

$ tox 将在所有受支持的 Django 和 Python 版本上运行完整的测试套件。

覆盖率

安装 coverage 后(pip install coverage),Makefile 有两个命令可以帮助报告代码覆盖率。

make coverage

将启用覆盖率运行测试并生成 HTML 覆盖文件。

make browser

将运行测试并在您的网页浏览器中打开覆盖率报告。

变更日志

0.9.2 (2021-11-11)

  • 允许在 CKEditorField 中的图片上使用 alt 属性

0.9.1 (2021-08-25)

  • 按最新创建的 created_at 日期排序表单提交

0.9.0 (2019-07-15)

  • 修复在使用较新版本的 jQuery 时 tabs 小部件的 bug

  • 添加对 Django 1.11 的支持并移除对之前所有版本的支持。

0.8.4 (2016-06-03)

  • 在多步操作周围添加原子块 [#376]

0.8.3 (2016-04-29)

  • 修复 admin 中跨域请求的 bug

0.8.2 (2016-04-15)

  • 修复问题 #371

0.8.1 (2016-04-13)

  • 可能破坏性的更改widgy_common.scss 中移除 node-icon-sprite,这与 django storages 不兼容。

  • 添加 WidgySite.valid_root_of 方法。您可以通过覆盖此方法来指定哪些布局将可用于新页面。

  • Django 1.9 支持

  • 改进翻译

  • 错误修复

0.7.4 (2015-11-17)

  • 修复与 django-filer 1.0.2 的兼容性

0.7.3 (2015-09-17)

  • 包含并安装 DaisyDiff 二进制文件和许可文件。

0.7.2 (2015-09-15)

  • 与分发一起包含 DaisyDiff.jar。

0.7.1 (2015-08-18)

  • 修复 Python 3 兼容性:SortedDict.keys() 正在返回一个迭代器而不是一个视图。这导致 form_builder/forms/XX 不能正确显示。

0.7.0 (2015-07-31)

  • 可能破坏性的更改 更新了 django-pyscss 依赖。请参阅 django-pyscss 变更日志 了解如何/是否需要更改任何内容。

  • Django 1.8 兼容性。

  • Python 3 兼容性

  • Django 1.7 现在是最低支持的版本

  • Mezzanine 4.0 现在是最低支持的版本

  • Content.clone 现在会复制简单的多对多关系。如果您有一个具有多对多字段且具有调用 super 的覆盖克隆方法的 widget,您应该考虑这一点。如果您有使用自定义 through 表的多对多关系,您将不得不继续覆盖克隆来克隆它们。

  • 不兼容性 WidgySite.has_add_permission 签名已更改。

  • 多站点支持

    • 一个 Widgy 项目现在可以响应多个域名。用例可以是 Widgy 作为服务或多品牌网站。

    • 此功能依赖于 Mezzanine 多租户

    • 呼出现在是与 django site 关联的

    • 此功能由 widgy.contrib.widgy_mezzanine.site.MultiSitePermissionMixin 提供

0.6.1 (2015-05-01)

  • 修复 find_media_files 中的非确定性 bug。

0.6.0 (2015-04-30)

  • 改进了兼容性错误消息 [#299, #193]

  • 删除使用 mezzanine.boot 的建议,因为它不是必需的 [#291]

  • 可能破坏性的更改 更新了 django-pyscss 依赖。请参阅 django-pyscss 变更日志 了解如何/是否需要更改任何内容。

  • 默认情况下,Widgy 视图仅限于 staff 成员。之前任何认证用户都被允许。这影响到预览视图和弹出编辑视图等。如果您依赖于任何用户都可以访问这些,请在您的 WidgySite 中覆盖 authorize_view。 [#267]

    class MyWidgySite(WidgySite):
        def authorize_view(self, request, view):
            if not request.user.is_authenticated()
                raise PermissionDenied

0.5.0 (2015-04-17)

  • 不兼容性 默认情况下不再取消注册 RichTextPage 在 widgy_mezzanine 中。如果您希望取消注册,可以将以下内容添加到您的 admin.py 文件中

    from django.contrib import admin
    from mezzanine.pages.models import RichTextPage
    admin.site.unregister(RichTextPage)
  • Bugfix:以前,如果 CSRF_COOKIE_HTTPONLY 设置为 True,Widgy 编辑器会中断 [#311]

  • 切换到 py.test 进行测试。 [#309]

0.4.0 (2015-03-12)

  • 支持Django 1.7。如果继续使用Django 1.7以下版本,则需要升级到South 1.0(或使用SOUTH_MIGRATION_MODULES)。您可能需要-fake一些迁移以升级到内置的Django迁移。请确保使用South使数据库保持最新,然后升级Django并运行

    ./manage.py migrate --fake widgy
    ./manage.py migrate --fake easy_thumbnails
    ./manage.py migrate
  • 支持安装Widgy而不依赖其contrib应用。‘django-widgy’包只包含Widgy核心所需的依赖。每个contrib包都有一个setuptools的‘extra’。要安装所有内容,请将‘django-widgy’替换为‘django-widgy[all]’。[#221]

  • 切换到tox进行测试运行,并允许在contrib不存在的情况下运行核心测试。[#294]

  • 停止依赖于连续的‘/’字符的urls。[#233]。这为widgy_mezzanine的预览页面和表单提交处理器添加了一个新的urlpattern。旧的urlpattern将保持工作,但您应该使用‘page_pk’而不是‘slug’进行反向解析。例如

    url = urlresolvers.reverse('widgy.contrib.widgy_mezzanine.views.preview', kwargs={
        'node_pk': node.pk,
        'page_pk': page.pk,
    })
  • 将小部件表单中字段的help_text视为安全(HTML不会被转义)[#298]。如果您依赖于HTML特殊字符被转义,您应该将< span class="docutils literal">< span class="pre">help_text="1 is < 2"替换为< span class="docutils literal">< span class="pre">help_text=django.utils.html.escape("1 is < 2")。

  • 在form_builder admin中考虑Form子类来反转URL。[#274]。

0.3.5 (2015-01-30)

错误修复版本

  • 在ClonePageView和UnpublishView中在运行时设置模型[Rocky Meza,#286]。

0.3.4 (2015-01-22)

错误修复版本

  • 文档修复[Rocky Meza和Gavin Wahl]。

  • 修复Widgy内容意外水平滚动的错误[Justin Stollsteimer]。

  • 增加了小部件标题段落后的间距[Justin Stollsteimer]。

  • 修复了ckeditor中的样式以显示对齐方式[Zachery Metcalf,#279]。

  • 消除了InvisibleMixin的边距[Rocky Meza]。

  • 为Image添加字段添加CSS支持[Rocky Meza]。

  • 修复了额外的mezzanine容器样式溢出问题[Justin Stollsteimer]。

  • 使用daisydiff修复r.js优化错误[Rocky Meza]。

  • 从widgypage添加表单中删除删除按钮[Gavin Wahl]。

0.3.3 (2014-12-22)

错误修复版本

  • 允许使用覆盖的WIDGY_MEZZANINE_PAGE_MODEL进行克隆[Zach Metcalf,#269]。

  • SCSS语法错误[Rivo Laks,#271]。

0.3.2 (2014-10-16)

错误修复版本

  • 允许WidgyAdmin检查ReviewedWidgySite而不安装review_queue[Scott Clark,#265]。

  • 修复了ProxyGenericRelation上related_name的处理[#264]。

0.3.1 (2014-10-01)

0.3.0的错误修复版本。[#261,#263]。[#264]

0.3.0 (2014-09-24)

此版本主要关注新保存流程功能,但还包括一些错误修复和一些CSS改进。已经更新了依赖项,因此请务必检查如何升级部分,以确保正确更新所有内容。

主要变化

  • 新保存流程< strong>需要将Mezzanine升级至至少3.1.10 [Gavin Wahl,Rocky Meza,#241]

    我们已更新了WidgyPage的工作流程。我们认为这是一个可以希望在未来扩展到所有WidgyAdmins的实验。我们希望这个新的保存流程更直观,更不繁琐。

    之前截图

    Widgy Page Admin Old Save Flow

    之后截图

    Widgy Page Admin New Save Flow

    如您所见,我们已经重新排列了一些按钮,并去除了已发布的状态按钮。现在在右下角的新保存按钮将控制发布状态以及提交状态。这意味着现在提交和保存不再是两步过程,而是全部在一个按钮中。这应该使编辑和保存过程更加顺畅。此外,我们还更改了一些按钮的名称,使其意图更加明显。

错误修复

  • 更新了覆盖的directory_table模板以兼容django-filer 0.9.6。< strong>需要将django-filer升级至至少0.9.6。[Scott Clark,#179]

  • 修复了ReviewedVersionTrackerQuerySet.published中的错误[Gavin Wahl,#240]

  • 使提交按钮看起来不是禁用的[Justin Stollsteimer,#250,#205]

  • (演示)向演示设置中添加了ADD_PAGE_ORDER[Zach Metcalf,#248]

  • (演示)更新了演示项目需求[Scott Clark,#234]

  • 使Widgy的jQuery私有化以防止与其他admin扩展冲突[Gavin Wahl,#246]

文档

  • 更新推荐 ADMIN_MENU_ORDER 以明确 django-filer [Gavin Wahl, #249]

如何升级

在本版本中,widgy 更新了其两个依赖项

  • 现在 django-filer 的最低支持版本是 0.9.6(之前为 0.9.5)。

  • 现在 Mezzanine 的最低支持版本是 3.1.10(之前为 1.3.0)。

如果您 pip install django-widgy==0.3.0,它应该会为您升级依赖项,但为了确保,您可能还想运行

pip install 'django-filer>=0.9.6' 'Mezzanine>=3.1.10'

以确保您获取了更新。

0.2.0 (2014-08-04)

变更

  • Widgy 现已采用 Apache 许可证

  • 破坏性变更 使用 django-pyscss 进行 SCSS 编译。[Rocky Meza, #175]

    需要更新 COMPRESS_PRECOMPILERS 设置

    COMPRESS_PRECOMPILERS = (
        ('text/x-scss', 'django_pyscss.compressor.DjangoScssFilter'),
    )

    您可能还需要更新您的 SCSS 中的 @import 语句,因为 django-pyscss 使用不同的(更一致的)路径解析规则。例如,@import 'widgy_common' 应该改为 @import '/widgy/css/widgy_common'

  • 为 Section 添加 help_text 以帮助用户避免错误 [Zach Metcalf, #135]

  • 在重新定位后允许 UI 根据 new data 进行更新 [Gavin Wahl, #199]

  • 更改 shelf 中 Button 的 css_classes [Rocky Meza, #203]

  • 当 Ajax 正在飞行时添加加载光标 [Gavin Wahl, #215, #208]

  • 消除“无内容” [Gavin Wahl, #206]

  • 使用精灵为小部件图标 [Gavin Wahl 和 Rocky Meza, #89, #227]

  • 只显示有趣的提交的批准/取消批准按钮 [Gavin Wahl, #228]

  • 更新演示应用程序以包含新的设计和新的小部件 [Justin Stollsteimer, Gavin Wahl, Antoine Catton 和 Rocky Meza, #129, #176]

  • 为 WidgyPages 添加克隆功能 [Gavin Wahl, #235]

  • 使用更真实的环境渲染页面以进行搜索 [Gavin Wahl, #166]

  • 为 Accordion 和 Tabs 添加默认子项 [Rocky Meza, #238]

错误修复

  • 修复与拖拽相关的光标问题 [Gavin Wahl, #155]

  • 更新安全 URL [Gavin Wahl, #212]

  • 修复 Mezzanine==3.1.2 的 widgy_mezzanine 预览 [Rocky Meza, #201]

  • 在管理员中允许 RichTextPage [Zach Metcalf, #197]

  • 不要假设响应有 content-type 标头 [Gavin Wahl, #216]

  • 修复 FileUpload 具有空值的错误 [Rocky Meza, #217]

  • 修复 urlconf_include login_required 的处理 [Gavin Wahl, #200]

  • 修复与 jQuery 1.9 兼容的 fancybox [Gavin Wahl, #222]

  • 修复 SCSS 中的某些导入错误 [Rocky Meza, #230]

  • 修复 Mezzanine 新版本中的还原页面 [Gavin Wahl, #232]

  • 在审查队列中使用 Unicode 格式字符串 [Gavin Wahl, #236]

文档

  • 更新 quickstart 以包含 easy_thumbnails 的 south 迁移 [Zach Metcalf, #202]

  • 添加代理 Widgy 模型教程 [Zach Metcalf, #210]

0.1.6 (2014-09-09)

  • 修复包含 mezzanine 不支持的 KeywordsField 的迁移 [Scott Clark]

  • 将包重命名为 django-widgy

0.1.5 (2013-11-23)

  • 修复 Widgy 迁移而不使用 Mezzanine [Gavin Wahl]

  • 删除目标碰撞检测 [Gavin Wahl]

  • 修复 Figure 和 StrDisplayNameMixin [Gavin Wahl]

  • 避免在未安装时加载 review_queue [Scott Clark]

  • 修复与 LinkFields 相关的多表继承 [Gavin Wahl]

0.1.4 (2013-11-04)

  • 添加 StrDisplayNameMixin

0.1.3 (2013-10-25)

  • 修复与 S3 存储后端的图像小部件验证 [Gavin Wahl]

0.1.2 (2013-10-23)

  • 修复 Widgy 管理员中托管在不同域上的静态文件 [Gavin Wahl]

0.1.1 (2013-10-21)

  • 调整 MANIFEST.in 以修复 PyPi 安装。

  • 修复具有 Unicode verbose_name 的布局

0.1.0 (2013-10-18)

第一个版本。

基本功能

  • 异构树编辑器 (widgy)

  • CMS (widgy.contrib.widgy_mezzanine)

  • CMS 插件 (widgy.contrib.urlconf_include)

  • 小部件 (widgy.contrib.page_builder)

  • 表单构建器 (widgy.contrib.form_builder)

  • 多语言页面 (widgy.contrib.widgy_i18n)

  • 审查队列(widgy.contrib.review_queue

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

django-widgy-0.9.2.tar.gz (3.3 MB 查看散列

上传时间

由以下支持