django cms的重组文本插件。
cmsplugin-rst的Python项目详细描述
一个用于Django CMS的插件,它使用docutils将重组后的文本呈现为html。
安装
使用pip或您喜欢的方法安装cmsplugin_rst,无论是否使用virtualenv。
$ pip install cmsplugin_rst
在django设置中将'cmsplugin_rst'添加到INSTALLED_APPS。
然后迁移数据库:
$ python manage.py migrate
小心,如果从cmsplugin\u rst v0.1.1升级, 不是用Django迁徙而是用南方, 您可能必须跳过初始迁移(例如,如果您获得 “操作错误:表”CMSPLUGINIORSTSTRSTPURLIN模型已经存在“错误”:
$ python manage.py migrate –fake-initial cmsplugin_rst
为了加快cmsplugin-rst插件的(可能很重)呈现速度, 考虑使用django的缓存框架。
配置
可以使用这些django设置调整cmsplugin-rst的行为(所有设置都是可选的)。
默认情况下,插件不允许使用不安全的功能,如*文件插入* 和*raw*指令,在重新构造的文本呈现程序中。
- cmsplugin\u rst\u writer\u name
- 用于呈现html的docutils编写器的名称(默认值:“html4css1”)
- cmsplugin_rst_content_前缀
- 在呈现之前,所有RST插件内容前面都会有一个重新构造的文本字符串wich。 用于定义替换块、自定义角色等。
- cmsplugin_rst_content_后缀
- 在呈现之前,重构的文本字符串将附加到所有RST插件内容中。
- cmsplugin\u rst\u设置覆盖
- 将在插件默认值上合并并传递给docutils呈现程序的设置指令。 请参阅docutilspublish_parts()及其settings_overrides参数(http://docutils.sourceforge.net/docs/user/config.html#html4css1-writer)。 有趣的设置包括“初始标题级别”和“报告级别”。
- cmsplugin\u rst\u后处理器
- 如果且仅当BeautifulSoup已安装,则应用这些后处理器 在显示之前将其转换为呈现的HTML。 它必须是限定函数名的列表,例如。[“mymodule.mysubmodule.myfunction”]。 每个函数都必须期望一个漂亮的组树作为唯一的参数, 并将其修改到位。
特定角色和替代者
django模板引擎不计算重新构造的文本, 所以不能使用django/djangocms标记和过滤器。
但有些特定的替换发生了:
- {{媒体url}和{静态url}标记被替换,在HTML呈现之前, 通过相应的django设置。
- {{br}}和{{nbsp}在html呈现之后被相应的html替换,。 标签/实体。
此外,您还可以使用 提供的自定义“cmspage”角色,使用“reverse id” 您以前在高级页参数中设置的参数:
:cmspage:`My-Reverse-Id` // the menu title will be use as the link name :cmspage:`My Link Name <My-Reverse-Id>` // here the link name is embedded in role反向ID必须存在,并且在DB DB中是唯一的,否则链接的呈现失败。
测试项目
存储库中包含一个带有sqlite数据库的演示项目, 作为git子模块(https://git-scm.com/docs/git-submodule)。
它的django管理凭据是test/test。