将redactor javascript所见即所得编辑器与django集成。

django-redactoreditor的Python项目详细描述


这个包有助于在django中集成Redactorjavascript所见即所得编辑器。

安装

  1. pip安装:pip install django-redactoreditor(或将redactor目录添加到python路径)
  2. redactor应用程序添加到INSTALLED_APPS设置中。

用法

redactor应用程序提供了一个名为RedactorEditor的django小部件。它是任何TextArea小部件的替换。示例用法:

from django import forms
from django.db import models

from redactor.widgets import RedactorEditor

class MyForm(forms.Form):
    about_me = forms.CharField(widget=RedactorEditor())

您还可以在实例化小部件时自定义任何redactor编辑器的settings

class MyForm(forms.Form):

    about_me = forms.CharField(widget=RedactorEditor(redactor_settings={
        'autoformat': True,
        'overlay': False
    }))

django redactor还包括一个小部件,其中包含一些自定义设置,可以使它在django管理中运行并看起来更好:

class MyAdmin(admin.ModelAdmin):
    formfield_overrides = {
            models.TextField: {'widget': AdminRedactorEditor},
    }

最后,您可以将自定义css文件连接到编辑器的可编辑区域:

class MyForm(forms.Form):
    about_me = forms.CharField(widget=RedactorEditor(
        redactor_css="styles/text.css")
    )

用于指定css的路径可以是相对路径,也可以是绝对路径。如果路径以“/”、“http://”或“https://”开头,则将被解释为绝对路径,并保持原样。所有其他路径都将以STATIC_URL设置的值作为前缀(如果未定义static,则为MEDIA_URL)。

为了方便起见,还可以使用接受相同输入的表单字段。此字段可以在任何地方使用forms.CharField可以并接受相同的参数,但始终呈现一个redactor小部件:

from redactor.fields import RedactorField

class MyForm(forms.Form):
    about_me = RedactorField(
        in_admin=True,
        redactor_css="styles/text.css",
        redactor_settings={'overlay': True}
    )

jquery

redactor javascript库需要jquery 1.9或更高版本才能运行。默认情况下,jquery包含在字段和小部件媒体中。但是,如果页面上的其他小部件或表单使用的是different版本的jquery,则可能会导致问题。如果您希望自己处理javascript依赖项管理,可以从redactor字段和wdiget的媒体中排除jquery:

class MyForm(forms.Form):
    about_me = RedactorField(include_jquery=False)

模板化

如果您使用的是管理员之外的redactor小部件,则需要确保您呈现了the form’s media。redactor小部件需要包含一些css和javascript才能正常工作:

<form>
    {{ myform.media }}
    {{ myform.as_p }}
    <input type="submit"/>
</form>

国际化

如果希望在其他语言中使用redactor,只需指定lang设置。将自动加载正确的javascript语言文件:

class MyForm(forms.Form):

    about_me = forms.CharField(widget=RedactorEditor(redactor_settings={
        'autoformat': True,
        'lang': 'es',
        'overlay': False
    }))

django redactor是根据Creative Commons Attribution-NonCommercial 3.0许可证授权的。但是,对于购买了 对redactor.js库的合法商业许可。开源用户仍在非商业条款下,但合法的Imperavi许可证持有者却没有。

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

推荐PyPI第三方库


热门话题
java使用McClickListener单击了什么元素   Java时间戳在Oracle时间戳中不同情况下存储12 PM的奇怪行为   java无法使用事件总线对运行在不同机器上的垂直体进行通信   java Mockserver:收到请求后进行回调   java无法将Json字符串转换为Map<string,Object>   java如何按升序排列输出?   java视图行,带有oracle键。jbo。在SrCategoryParentIterator中找不到键[300100120394155]   javafxmysql连接示例   java正在等待加载完成   java是否可以将同一个有状态会话bean实例注入多个其他会话bean?   java无法让万向节检测离开或进入区域   使用JavaCV和OpenCV的java提供了dyld:lazy符号绑定失败:找不到符号:__sincos_stret   xml解析无法使用Java读取xml文档   java无法更改工具栏的颜色   javaapachesshd和JSCH   java无法在firebase存储中检索图像url   java问题与executeUpdate   同一应用程序中不同活动之间的java SharedReference