为使用django的人提供直观的文本编辑。
django-text的Python项目详细描述
为使用django的人提供直观的文本编辑。
此项目处于早期开发阶段,请测试并报告任何错误!
安装
用pip安装包。
$ pip install django-text
将text添加到已安装的软件包中。
# settings.pyINSTALLED_APPS=(# ...'text',)
将text.middleware.TextMiddleware和'text.middleware.ToolbarMiddleware'添加到中间件类中。
# settings.pyMIDDLEWARE_CLASSES=(# ...'text.middleware.TextMiddleware','text.middleware.ToolbarMiddleware',)
确保安装了这些上下文处理器,它们与django一起提供。
# settings.pyTEMPLATE_CONTEXT_PROCESSORS=(# ...'django.contrib.auth.context_processors.auth','django.core.context_processors.request',)
将text.urls附加到urls.py中的urlpatterns。
# urls.pyfromdjango.conf.urlsimportpatterns,include,urlfromtext.urlsimporturlpatternsasdjango_text_patternsurlpatterns=patterns('',url(r'^django_text/',include(django_text_patterns,namespace='django_text')),)
运行migrate。
$ python manage.py migrate
用法
标签
将editable标记添加到模板中。
{% load text %} <h1>{% text "header" "My Header" %}</h1><divclass="content"> {% text "text_body" %} </div>
text标记将默认文本作为第二个参数。如果没有 传递默认文本,即文本节点的名称(即第一个 如果在 数据库。
标签
您还可以使用blocktext标记来包装内容 用作默认文本。
{% load text %} <divclass="content"><h1> {% blocktext "header" %} Read My Awesome Text {% endblocktext %} </h1> {% blocktext "content" %} Put your default text here! {% endblocktext %} </div>
blocktext标记与内部的翻译标记一起工作。所以 如果你已经有一个翻译过的网站,你可以用 此标记只为您所使用的某些语言添加文本节点 支持。
指定内容类型
text和blocktext标记都支持指定 其默认文本的内容类型。选择是“html”, “markdown”和默认的“text”。
{% text "html_node" "<h1>Hello World!</h1>" "html" %} {% blocktext "markdown_node" "markdown" %} # Hello there, I can have markdown in my templates! {% endblocktext %}
如果未提供内容类型,则两者都将默认为文本。
禁用即时更新
默认情况下,templatetags将用一个跨度包装所有文本节点 元素以启用“即时更新”,如果 TEXT_TOOLBAR_INSTANT_UPDATE设置为True。有时候 可能会带来麻烦,例如当您希望 <title>或<meta>元素中的文本。
通过设置 templateTag关键字参数instant_update到False:
<title>{% text "title" "Welcome!" instant_update=False %}</title><title> {% blocktext "block_title" instant_update=False %} Welcome one, welcome all! {% endblocktext %} </title>
内容编辑
工具栏允许您直接在页面上编辑文本 以职员身份登录并拥有权限'text.change_text',或者 你的签名是超级用户。
当 它们的模板标记被渲染。
设置
autopopulate\u文本
默认值:True
设置为false可禁用django text将缺少的文本节点添加到 数据库。
text_工具栏已启用
默认值:True
设置为false可禁用工具栏界面。
text_toolbar_form_前缀
默认值:'djtext_form'
它被传递到工具栏窗体,可以更改以避免名称 冲突。
文本工具栏即时更新
默认值:True
设置为false以禁用在中保存文本时对dom的即时更新 工具栏。
text_inline_包装器
默认值:('<spandata-text-name="{0}"class="{1}">','</span>')
一个二元组,用于包装模板中的文本以启用 即时更新。
text_inline_wrapper_类
默认值:'dj_text_inline_wrapper'
更改此项以更改环绕的元素的类 文本。
贡献
贡献是非常受欢迎的。使用 issues到 报告错误并建议功能。对于要接受的拉取请求 他们需要好好测试。
运行测试
安装测试依赖项。
$ brew install phantomjs $ pip install -r test-requirements.txt
运行测试。
$ make test
运行覆盖率测试。
$ make test-coverage
许可证
版权所有(c)2015 Anton Agestam。django文本发布于麻省理工学院 执照。有关更多信息和许可证,请参见许可证文件或 捆绑代码。