Django-CMS周围的工具/助手
项目描述
django CMS的杂项工具/助手。
也看看这个兄弟项目: django-tools(围绕Django的工具/助手)。
现有内容
Django-CMS插件
着陆页面
一个用于创建着陆页的应用。更多信息请参阅: django_cms_tools/plugin_landing_page/README.creole
测试工具
添加CMS插件unittest测试用例
django_cms_tools.unittest_utils.add_cms_plugin.TestAddPluginTestCase - 测试通过管理界面添加CMS插件的TestCase
生成添加CMS插件unittest骨架
例如:
$ ./manage.py generate_add_plugin_test_code plugin_anchor_menu.AnchorPlugin from django_cms_tools.unittest_utils.add_cms_plugin import TestAddPluginTestCase class AddPluginTestCase(TestAddPluginTestCase): """ Tests for plugin_anchor_menu.AnchorPluginModel Based on a skeleton generated via: ./manage.py generate_add_plugin_test_code plugin_anchor_menu.AnchorPlugin """ def test_anchorplugin_de_1(self): # plugin name in de: 'Anchor' self.create_plugin( language_code = "de", plugin_parent=None, plugin_type="AnchorPlugin", title='dummy text no. 0', # CharField, String (up to 254) slug='dummy-text-no-0', # SlugField, Slug (up to 255) ) response = self.assert_plugin( language_code="de", must_contain_html=[ "<XXX></XXX>", # TODO: Add plugin html output here! ], must_contain=[ "dummy text no. 0", ], template_name="anchor_menu/anchor.html", ) def test_anchorplugin_de_2(self): ...
显示CMS插件的使用情况
通过调用列出所有现有插件
./manage.py list_page_by_plugin
要显示CMS插件的使用情况,请添加插件名称作为参数,例如:
./manage.py list_page_by_plugin TextPlugin
测试用例创建
django_cms_tools.fixtures.pages
用于在测试用例中创建Django CMS页面的辅助工具
类 django_cms_tools.fixtures.pages.***CmsPageCreator* 可用于创建普通/插件CMS页面。从该类继承并重写属性和方法以满足您的需求 ;) 例如,查看测试代码。
来源:django_cms_tools/fixtures/pages.py 测试/示例:/tests/test_fixtures_pages.py
create_cms_index_pages
在所有现有语言(settings.LANGUAGES)中创建CMS主页,并使用TextPlugin填充占位符。
django_cms_tools.fixtures.pages.***create_cms_index_pages*
create_cms_plugin_page
在所有现有语言(settings.LANGUAGES)中创建CMS插件页面,并在索引页面上添加链接。
django_cms_tools.fixtures.pages.***create_cms_plugin_page*
django filer 工具 实验性
通过更改您的settings.py来激活,例如。
INSTALLED_APPS = [ ... 'django_cms_tools.filer_tools', ... ]
‘image info’ 管理命令
显示有关现有、缺失和忽略的图像数量的信息。以及所有使用的图像的摘要。用法
$ ./manage.py image_info 34 items - foo.Bar 34 instanced checked: 0 exist 0 missing 34 ignored - foo.BarModel.meta_image 34 exist 0 missing 0 ignored - foo.BarModel.filer_overview_image ... total: existing images..: 6171 missing images...: 0 ------------------------------------------------------------------------------- Collect all filer IDs... File: 2 entries Image: 2 entries Information about File: Total entry count: 8042 entries. Used entry count: 2 entries. Total size: 13.8 GB Used size: 997.5 KB Information about Image: Total entry count: 6993 entries. Used entry count: 2 entries. Total size: 13.7 GB Used size: 997.5 KB (Note: 'File' contains 'Image' ;)
‘replace broken’ 管理命令
用给定的filer ID替换所有不存在的文件。
例如:您想克隆现有的安装,但又不想移动真实的文件
在源系统上创建数据库备份
将数据库备份插入克隆的系统
登录到新克隆版本的django admin
上传一个“dummy.jpg”的filer图像
写下filer图像ID(例如:123)
开始: $ ./manage.py replace_broken 123
filer ‘export_filer_images’ 管理命令
export_filer_images 将所有使用的filer图像文件存储到磁盘上。例如。
$ ./manage.py export_filer_images my_backups
‘template_info’ 管理命令
激活,例如。
INSTALLED_APPS = [ ... 'django_cms_tools', ... ]
看起来像
$ ./manage.py template_info There are 3 public pages: pk:1 /en/ /foo/homepage.html pk:2 /en/foo/ INHERIT pk:3 /en/foo/bar/ INHERIT
‘cms_plugin_info’ 管理命令
激活,例如。
INSTALLED_APPS = [ ... 'django_cms_tools', ... ]
看起来像
$ ./manage.py cms_plugin_info There are 4 CMS plugins: 'Django CMS Tools Test' * RelatedPlugin (Related Plugin) 'Generic' * PlaceholderPlugin (Placeholder) * AliasPlugin (Alias) * TextPlugin (Text)
运行测试项目
.../django-cms-tools$ ./run_test_project_dev_server.sh
或
.../django-cms-tools$ cd django_cms_tools_test_project/ .../django-cms-tools/django_cms_tools_test_project$ ./manage.py run_test_project_dev_server
运行测试
通过tox运行所有环境组合中的所有测试
$ python3 setup.py tox
通过pytest在当前环境中运行所有测试
$ python3 setup.py test
Django 兼容性
django-cms-tools |
Django CMS |
django版本 |
python |
---|---|---|---|
>=v0.6 |
3.4.x |
v1.11 |
3.5, 3.6, pypy3 |
>=v0.5.1 |
3.4.x |
1.8, v1.11 |
3.5, 3.6, pypy3 |
v0.4.0 |
1.8 |
2.7, 3.5, 3.6 |
|
v0.1.x |
1.8 |
2.7, 3.4, 3.5 |
目前Django CMS v3.5尚不支持。它在待办事项中,请参阅:问题 #1(也请参阅.travis.yml和tox.ini中的组合)
待办事项
为“filer命令”添加测试
支持Django CMS v3.5并针对这些版本运行测试。
支持Django v2.0并针对这些版本运行测试。
不兼容的更改
v0.7
django_cms_tools.fixtures 已重命名为: django_cms_tools.fixture_helper
移除 django_cms_tools.fixtures.languages
历史
dev - 比较 v0.7.0…master
v0.7.1 - 30.07.2019 - 比较 v0.7.0…v0.7.1
由于 django-parler v2.0 的更改,添加“着陆页”迁移。
v0.7.0 - 18.09.2018 - 比较 v0.6.11…v0.7.0
django_cms_tools.fixtures 已重命名为: django_cms_tools.fixture_helper
移除 django_cms_tools.fixtures.languages
新增: django_cms_tools.unittest_utils.assertments
v0.6.11 - 2018年6月21日 - 比较 v0.6.10…v0.6.11
修复:CmsPageCreator 如果创建过程中将尝试查找已发布的页面实例
v0.6.10 - 2018年6月5日 - 比较 v0.6.9…v0.6.10
新增:管理命令 'export_filer_images',用于将所有 filer 图像存储在磁盘上
修复:当 default_model_class 是字符串时,django_cms_tools.filer_tools.helper.collect_all_filer_ids 的错误
v0.6.9 - 2018年5月4日 - 比较 v0.6.8…v0.6.9
增强 '生成“添加 CMS 插件”骨架代码’
v0.6.8 - 2018年4月25日 - 比较 v0.6.7…v0.6.8
新增:通过 ./manage.py list_page_by_plugin 显示 CMS 插件的使用情况
在 create_plugin() 中,将 **plugin_kwargs 参数更改为 post_data
v0.6.7 - 2018年4月24日 - 比较 v0.6.6…v0.6.7
新增:使用 ./manage.py generate_add_plugin_test_code 生成“添加 CMS 插件”骨架代码
v0.6.6 - 2018年4月9日 - 比较 v0.6.5…v0.6.6
新增:使用 ./manage.py orphaned_plugin_info 获取 Django CMS 未安装/未保存插件的列表
v0.6.5 - 2018年3月22日 - 比较 v0.6.4…v0.6.5
使用 django-tools 中的 ParlerDummyGenerator(用于着陆页测试固定数据)
django_cms_tools.fixtures.languages.iter_languages 已移至 django-tools!
修复:DummyPageGenerator 创建未发布的页面
v0.6.4 - 2018年3月6日 - 比较 v0.6.3…v0.6.4
更新 django_cms_tools.fixtures.pages.DummyPageGenerator 以适应 API 的更改
v0.6.3 - 2018年2月23日 - 比较 v0.6.2…v0.6.3
通过 django.apps.AppConfig 重命名着陆页和锚点菜单插件
更新发布者集成测试
v0.6.2 - 2018年2月22日 - 比较 v0.6.1…v0.6.2
修复打包错误:包含模板文件
v0.6.1 - 2018年2月22日 - 比较 v0.6.0…v0.6.1
更新“着陆页”插件以使用新的发布者 API
v0.6.0 - 2018年2月20日 - 比较 v0.5.2…v0.6.0
移除与 Django v1.8 的测试运行
新增:Django-CMS 插件用于创建“着陆页”
新增:Django-CMS 插件用于构建页面锚点菜单
新增:./manage.py cms_plugin_info 以生成所有已注册 Django CMS 插件的列表
v0.5.2 - 2018年1月10日 - 比较 v0.5.1…v0.5.2
增强和修复 'replace_broken' 命令
v0.5.1 - 2017年12月21日 - 比较 v0.5.0…v0.5.1
重构 travis/tox/pytest/coverage 内容
可以通过 python3 setup.py tox 和/或 python3 setup.py test 运行测试
在 Travis CI 上也使用 pypy3 进行测试。
v0.5.0 - 2017年12月19日 - 比较 v0.4.0…v0.5.0
跳过对 Python v2 的官方支持(从文本矩阵中移除)
新增:./manage.py template_info
新增:./manage.py cms_page_info
CmsPageCreator API 已更改
将字符串 CmsPageCreator.placeholder_slot 更改为可迭代的 CmsPageCreator.placeholder_slots
在 CmsPageCreator.get_dummy_text() 和 CmsPageCreator.get_add_plugin_kwargs() 中添加 placeholder 参数
修复错误:始终使用草稿作为父页面(另见:https://github.com/divio/django-cms/pull/6126 )
添加单元测试
v0.4.0 - 2017年9月18日 - 比较 v0.3.2…v0.4.0
其他更新/更改
v0.3.2 - 2017年5月22日 - 比较 v0.3.1…v0.3.2
在 {% el_pagination_placeholder %} 中的错误修复,并渲染标签后的所有插件。
v0.3.1 - 2017年5月4日 - 比较 v0.3.0…v0.3.1
在 CmsPageCreator 中的错误修复:在正确的语言中评估懒加载的“语言名称”翻译(例如:例如:settings.LANGUAGE_CODE 不是“en”)
v0.3.0 - 2017年4月27日 - 比较 v0.2.0…v0.3.0
新增: django_cms_tools.fixtures.pages.***CmsPageCreator* 用于在测试固定值中创建Django CMS页面
v0.2.0 - 2017年4月10日 - 比较 v0.1.2…v0.2.0
实验性:Filer管理命令:‘image_info’ 和 ‘replace_broken’
v0.1.2 - 2017年3月28日 - 比较 v0.1.1…v0.1.2
更改:使用已翻译的语言名称创建页面
v0.1.1 - 2017年3月27日 - 比较 v0.1.0…v0.1.1
修复pypi软件包相关内容
v0.1.0 - 2017年3月27日
新增:create_cms_index_pages
新增:create_cms_plugin_page
链接
首页 |
|
PyPi |
捐赠
项目详情
下载文件
下载适合您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装软件包 的信息。
源代码分发
构建分发
哈希值 for django_cms_tools-0.7.1-py2.py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0a3b20da1827d8eeeae4d522cae30978e87a4e464113020b7c9bf895844ca995 |
|
MD5 | f5def7ee4ce31a9ed68c487e12215e83 |
|
BLAKE2b-256 | c70f5f904d38eee3ad94f744ae6d85f20e5cd5cc439eb5248ab62d51c7690f10 |