Ueditor HTML编辑器是百度开源的HTML编辑器,
本模块帮助在Django应用中集成百度Ueditor HTML编辑器。
安装包中已经集成Ueditor v1.3.6
使用Django-Ueditor非常简单,方法如下:
1、安装方法
**方法一:下载安装包,在命令行运行:
python setup.py install
**方法二:使用pip工具在命令行运行(推荐):
pip install DjangoUeditor
2、在INSTALL_APPS里面增加DjangoUeditor app,如下:
INSTALLED_APPS = (
#........
'DjangoUeditor',
)
3、在urls.py中增加:
url(r'^ueditor/',include('DjangoUeditor.urls' )),
4、在models中这样定义:
from DjangoUeditor.models import UEditorField
class Blog(models.Model):
Name=models.CharField(,max_length=100,blank=True)
Content=UEditorField('内容 ',height=100,width=500,default='test',imagePath="uploadimg/",imageManagerPath="imglib",toolbars='mini',options={"elementPathEnabled":True},filePath='upload',blank=True)
说明:
UEditorField继承自models.TextField,因此你可以直接将model里面定义的models.TextField直接改成UEditorField即可。
UEditorField提供了额外的参数:
toolbars:配置你想显示的工具栏,取值为mini,normal,full,besttome, 代表小,一般,全部,涂伟忠贡献的一种样式。如果默认的工具栏不符合您的要求,您可以在settings里面配置自己的显示按钮。参见后面介绍。
imagePath:图片上传的路径,如"images/",实现上传到"{{MEDIA_ROOT}}/images"文件夹
filePath:附件上传的路径,如"files/",实现上传到"{{MEDIA_ROOT}}/files"文件夹
scrawlPath:涂鸦文件上传的路径,如"scrawls/",实现上传到"{{MEDIA_ROOT}}/scrawls"文件夹,如果不指定则默认=imagepath
imageManagerPath:图片管理器显示的路径,如"imglib/",实现上传到"{{MEDIA_ROOT}}/imglib",如果不指定则默认=imagepath。
options:其他UEditor参数,字典类型。参见Ueditor的文档ueditor_config.js里面的说明。
css:编辑器textarea的CSS样式
width,height:编辑器的宽度和高度,以像素为单位。
5、在表单中使用非常简单,与常规的form字段没什么差别,如下:
class TestUeditorModelForm(forms.ModelForm):
class Meta:
model=Blog
***********************************
如果不是用ModelForm,可以有两种方法使用:
1: 使用forms.UEditorField
from DjangoUeditor.forms import UEditorField
class TestUEditorForm(forms.Form):
Description=UEditorField("描述",initial="abc",width=600,height=800)
2: widgets.UEditorWidget
from DjangoUeditor.widgets import UEditorWidget
class TestUEditorForm(forms.Form):
Content=forms.CharField(label="内容",widget=UEditorWidget(width=800,height=500, imagePath='aa', filePath='bb',toolbars={}))
widgets.UEditorWidget和forms.UEditorField的输入参数与上述models.UEditorField一样。
6、Settings配置
在Django的Settings可以配置以下参数:
UEDITOR_SETTINGS={
"toolbars":{ #定义多个工具栏显示的按钮,允行定义多个
"name1":[[ 'source', '|','bold', 'italic', 'underline']],
"name2",[]
},
"images_upload":{
"allow_type":"jpg,png", #定义允许的上传的图片类型
"max_size":"2222kb" #定义允许上传的图片大小,0代表不限制
},
"files_upload":{
"allow_type":"zip,rar", #定义允许的上传的文件类型
"max_size":"2222kb" #定义允许上传的文件大小,0代表不限制
},,
"image_manager":{
"location":"" #图片管理器的位置,如果没有指定,默认跟图片路径上传一样
},
}
7、在模板里面:
<head>
......
{{ form.media }} #这一句会将所需要的CSS和JS加进来。
......
</head>
注:运行collectstatic命令,将所依赖的css,js之类的文件复制到{{STATIC_ROOT}}文件夹里面。
8、高级运用:
****************
动态指定imagePath、filePath、scrawlPath、imageManagerPath
****************
这几个路径文件用于保存上传的图片或附件,您可以直接指定路径,如:
UEditorField('内容',imagePath="uploadimg/")
则图片会被上传到"{{MEDIA_ROOT}}/uploadimg"文件夹,也可以指定为一个函数,如:
def getImagePath(model_instance=None):
return "abc/"
UEditorField('内容',imagePath=getImagePath)
则图片会被上传到"{{MEDIA_ROOT}}/abc"文件夹。
****************
使上传路径(imagePath、filePath、scrawlPath、imageManagerPath)与Model实例字段值相关
****************
在有些情况下,我们可能想让上传的文件路径是由当前Model实例字值组名而成,比如:
class Blog(Models.Model):
Name=models.CharField('姓名',max_length=100,blank=True)
Description=UEditorField('描述',blank=True,imagePath=getUploadPath,toolbars="full")
id | Name | Description
------------------------------------
1 | Tom | ...........
2 | Jack | ...........
我们想让第一条记录上传的图片或附件上传到"{{MEDIA_ROOT}}/Tom"文件夹,第2条记录则上传到"{{MEDIA_ROOT}}/Jack"文件夹。
该怎么做呢,很简单。
def getUploadPath(model_instance=None):
return "%s/" % model_instance.Name
在Model里面这样定义:
Description=UEditorField('描述',blank=True,imagePath=getUploadPath,toolbars="full")
这上面model_instance就是当前model的实例对象。
还需要这样定义表单对象:
from DjangoUeditor.forms import UEditorModelForm
class UEditorTestModelForm(UEditorModelForm):
class Meta:
model=Blog
特别注意:
**表单对象必须是继承自UEditorModelForm,否则您会发现model_instance总会是None。
**同时在Admin管理界面中,此特性无效,model_instance总会是None。
**在新建表单中,model_instance由于还没有保存到数据库,所以如果访问model_instance.pk可能是空的。因为您需要在getUploadPath处理这种情况
class UEditorTestModelForm(UEditorModelForm):
class Meta:
model=Blog
8、其他事项:
**本程序版本号采用a.b.ccc,其中a.b是本程序的号,ccc是ueditor的版本号,如1.2.122,1.2是DjangoUeditor的版本号,122指Ueditor 1.2.2.
**本程序安装包里面已经包括了Ueditor,不需要再额外安装。
**目前暂时不支持ueditor的插件
**别忘记了运行collectstatic命令,该命令可以将ueditor的所有文件复制到{{STATIC_ROOT}}文件夹里面
**Django默认开启了CSRF中间件,因此如果你的表单没有加入{% csrf_token %},那么当您上传文件和图片时会失败
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于python的Django框架学生信息管理系统源码+项目说明.zip 个人大四的毕业设计、经导师指导并认可通过的高分设计项目,评审分96.5分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 <资源说明> 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设或者课设、作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
资源推荐
资源详情
资源评论
收起资源包目录
基于python的Django框架学生信息管理系统源码+项目说明.zip (1029个子文件)
getContent.ashx 1KB
getContent.asp 420B
config 335B
bootstrap.css 123KB
bootstrap.min.css 100KB
ueditor.css 43KB
font-awesome.css 37KB
ueditor.min.css 34KB
font-awesome.min.css 30KB
video-js.css 21KB
bootstrap-theme.css 19KB
select2.css 19KB
image.css 18KB
bootstrap-theme.min.css 17KB
selectize.bootstrap2.css 15KB
video.css 15KB
attachment.css 14KB
selectize.default.css 11KB
video-js.min.css 11KB
selectize.legacy.css 11KB
selectize.bootstrap3.css 10KB
datepicker.css 10KB
selectize.css 8KB
xadmin.main.css 8KB
shCoreDefault.css 7KB
xadmin.responsive.css 4KB
bootstrap-modal.css 4KB
scrawl.css 4KB
bootstrap-clockpicker.css 4KB
xadmin.form.css 3KB
bootstrap-image-gallery.css 3KB
bootstrap-clockpicker.min.css 3KB
codemirror.css 3KB
bootstrap-timepicker.css 3KB
charts.css 3KB
bootstrap-image-gallery.min.css 2KB
bootstrap-timepicker.min.css 2KB
background.css 2KB
xadmin.widget.select-transfer.css 2KB
bootstrap-xadmin.css 2KB
emotion.css 2KB
dialogbase.css 2KB
music.css 2KB
xadmin.mobile.css 1KB
edittable.css 1KB
snap.css 1KB
xadmin.plugin.formset.css 1KB
xadmin.widget.editable.css 1KB
template.css 1KB
xadmin.page.dashboard.css 790B
webuploader.css 515B
help.css 389B
xadmin.plugin.importexport.css 321B
xadmin.plugin.quickfilter.css 248B
xadmin.plugins.css 175B
xadmin.plugin.aggregation.css 95B
iframe.css 41B
bootstrap-multiselect.css 0B
fontawesome-webfont.eot 162KB
glyphicons-halflings-regular.eot 20KB
vjs.eot 3KB
UEditorSnapscreen.exe 508KB
UEditorSnapscreen.exe 508KB
wface.gif 49KB
jxface2.gif 40KB
yface.gif 28KB
bface.gif 27KB
icons.gif 20KB
file-icons.gif 20KB
file-icons.gif 20KB
tface.gif 19KB
fface.gif 18KB
cface.gif 8KB
loading.gif 4KB
icons-all.gif 4KB
select2-spinner.gif 2KB
ajax-loader.gif 2KB
videologo.gif 2KB
cancelbutton.gif 1KB
button-bg.gif 1KB
lock.gif 1KB
alignicon.gif 1KB
word.gif 1019B
icon_doc.gif 1012B
icon_psd.gif 1009B
icon_rar.gif 1007B
icon_xls.gif 1005B
icon_ppt.gif 1001B
icon_mv.gif 1001B
icon_pdf.gif 996B
icon_mp3.gif 986B
icon_txt.gif 970B
icon_jpg.gif 950B
icon_exe.gif 949B
icon_chm.gif 923B
loading.gif 734B
icons.gif 453B
icons.gif 453B
icons.gif 453B
success.gif 445B
共 1029 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11
资源评论
Scikit-learn
- 粉丝: 4853
- 资源: 3184
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- LABVIEW程序实例-高层函数读取二进制文件.zip
- LABVIEW程序实例-计算时间.zip
- LABVIEW程序实例-计算时间.zip
- LABVIEW程序实例-建立数组函数.zip
- LABVIEW程序实例-建立数组函数.zip
- LABVIEW程序实例-建立局部变量.zip
- LABVIEW程序实例-控制方式转换.zip
- LABVIEW程序实例-控制方式转换.zip
- LABVIEW程序实例-连线.zip
- LABVIEW程序实例-连线.zip
- LABVIEW程序实例-建立选择结构.zip
- LABVIEW程序实例-建立选择结构.zip
- LABVIEW程序实例-前面板对象常用属性.zip
- LABVIEW程序实例-前面板对象常用属性.zip
- LABVIEW程序实例-前面板对象数据传递.zip
- LABVIEW程序实例-前面板对象数据传递.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功