为了方便博客的编写,我们需要富文本编辑器,但Django本身并没有富文本编辑器,因此我们需要自己在项目中添加。我的博客使用了DjangoUeditor,还是挺方便的。
百度Ueditor地址:https://ueditor.baidu.com/website/
DjangoUeditor: https://github.com/twz915/DjangoUeditor3/
1、安装DjangoUeditor
# python2
pip install DjangoUeditor
# python3
git clone https://github.com/twz915/DjangoUeditor3.git # 或者直接在GitHub下载
python setup.py install
# 然后把DjangoUeditor 放到项目搭的extra_apps下#注 extra_app是用来专门存放第三方应用的
# 在setting.py 中把extra_app添加到根目录下
sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))
2、在 Django中注册DjangoUeditor
# settings.py
INSTALLED_APPS = (
'DjangoUeditor',
)
3、配置urls
# urls.py
url(r'^ueditor/',include('DjangoUeditor.urls' )),
4、在models中使用
在models中使用
from DjangoUeditor.models import UEditorField
class Blog(models.Model):
"""博客"""
title = models.CharField(max_length=64, verbose_name="标题")
content = UEditorField(verbose_name="博客内容", width=700, height=400,
imagePath="blog/ueditor/%(basename)s_%(datetime)s.%(extname)s",
filePath="blog/ueditor/%(basename)s_%(datetime)s.%(extname)s", default='')
# 这是我配置的 简单说明下
# width和height设置编辑器的宽为700像素高为400像素
# imagePath :图片上传后保存的路径,
# filePath: 文件上传后的路径
# default 默认值为空
注意:
要在settings.py 设置媒体文件的路径
# settings.py
MEDIA_ROOT = 'media' # 这里名字可以自己起 在项目下创建对应的文件夹
MEDIA_URL = '/media/
# 在urls.py 中配置静态文件路径
from yourProject import settings
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) # 配置上传文件的访问处理函数
说明:
UEditorField继承自models.TextField,因此你可以直接将model里面定义的models.TextField直接改成UEditorField即可。 定义UEditorField时除了可以直接传入models.TextFieldUEditorField提供的参数外,还可以传入UEditorField提供的额外的参数 来控制UEditorField的外观、上传路径等。
更多说明参考这里 https://github.com/twz915/DjangoUeditor3/
<a href="sdf">test</a> <script> alert('test'); </script>
44