可参数化的django cms片段。
django-cms-smartsnippets的Python项目详细描述
Django CMS智能片段
smartsnippets是一个django-cms插件,类似于内置的snippet 插件,但不允许只使用纯html,您可以使用任何有效的 Django模板语法。在页面中添加SmartSnippet时 用户可以为所有检测到的已用变量提供值。这太多了 如果要参数化,则比标准^ ^ TT2}$更灵活。 再利用你的静态片段。
注意
自动检测大括号中包含的所有变量。在一些 您可能需要人为地为变量创建这样的构造 被发现。如果变量名以_结尾,则不会检测到该变量名。
示例
的简单智能片段<script src="http://widgets.twimg.com/j/2/widget.js"></script> <script> new TWTR.Widget({ version: 2, type: 'profile', rpp: 4, interval: 30000, width: 250, height: 300, theme: { shell: { background: '#333333', color: '#ffffff' }, tweets: { background: '#000000', color: '#ffffff', links: '#4aed05' } }, features: { scrollbar: false, loop: false, live: false, behavior: 'all' } }).render().setUser('{{twitter_username}}').start(); </script>
注意{{twitter_username}}变量用作标准django 变量。在页面中添加smartsnippet时,表单将 提供一个输入字段,您可以在其中设置该变量的值。
设置
有三个配置变量可用:
- SMARTSNIPPETS_SHARED_SITESa默认站点名称列表 一张空名单。此处列出的所有网站都将共享 所有其他站点均为只读的SmartSnippets。这可能是 在共享环境中可用于启用代码共享。
- SMARTSNIPPETS_INCLUDE_ORPHAN默认为 True。如果启用此选项,请在 SmartSnippet创建表单是可选的。如果smartsnippet没有 属于任何站点,它将作为全局性的,并且将可用 在所有地点。如果设置为False,则用户将被迫链接 他创建的smartsnippets至少指向一个站点。
- SMARTSNIPPETS_RESTRICT_USER默认为 False。如果设置了此标志,将限制 用户可以通过全局访问与站点的关系 页面权限系统。这在共享环境中非常有用。 默认情况下,用户可以访问系统中的所有SmartSnippet。
警告
这个插件是一个潜在的安全隐患,因为它允许管理员放置 页面上的自定义javascript。这可能允许具有以下权限的管理员 添加片段以将其权限提升到超级用户。这个插件应该 仅在快速成型和 应在生产站点上禁用。