为使用django的人提供直观的文本编辑。

django-text的Python项目详细描述


Join the chat at https://gitter.im/antonagestam/django-textGet downloads at https://pypi.python.org/pypi/django-textSee latest build status at https://travis-ci.org/antonagestam/django-textCoverage

为使用django的人提供直观的文本编辑。

The django-text toolbar

此项目处于早期开发阶段,请测试并报告任何错误!

安装

用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标记与内部的翻译标记一起工作。所以 如果你已经有一个翻译过的网站,你可以用 此标记只为您所使用的某些语言添加文本节点 支持。

指定内容类型

textblocktext标记都支持指定 其默认文本的内容类型。选择是“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_updateFalse

<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文本发布于麻省理工学院 执照。有关更多信息和许可证,请参见许可证文件或 捆绑代码。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在javaswing中使用进度条,同时函数在繁重的进程中工作   SWIG(Java):如何调用带有void*out参数的函数?   java帮助解决算法问题   java,但我不想用try/catch块来包围语句!   可以从java类调用安卓类吗?   java流拆分器实现细节   java组织。莫基托。例外情况。滥用。无效使用MatcherException   java如何显示接收到的字符串?   java为什么这段代码不像JSR133建议的那样进入无限循环?   java BufferedReader readLine()从socket获取数据时冻结   java如何使用html表单发送的XML?   java RxJava与观察者代码的并行执行   我想使用CoreJava基于文本输入动态创建一个jpg图像   java如何在Mockito中模拟注入的bean?   java我的程序突然停止工作,我没有改变我记得的任何东西,现在它给出了第二个错误:javafx。fxml。加载异常   java树集排序错误   java RSA加密解密AES密钥并存储在文件中   Java将变量字符串[]与字符串混合在一个字符串数组中   如何在鼠标移动时重新绘制Java SWT应用程序?