1、在Django中使用富文本首先需要安装插件,这里我们选择tinymce插件
pip install django-tinymce
2、然后在setting里面注册
INSTALLED_APP = [ 'tinymce', ] TINYMCE_DEFAULT_CONFIG = { 'theme': 'advanced', 'width': 800, 'height': 600, }
3、在HTML页面使用,创建模型类, 也可在admin后台使用
# 创建模型类 from tinymce.models import HTMLField class Blog(models.Model): sBlog = HTMLField() # 配置站点 admin.site.register
4、建立url链接, 将tinymce渲染到HTML页面中去
# 先在模板里面加载static {% load static%} # 在<head>标签里面加载js <script type="text/javascript" src="/static/tiny_mce.js"></script> <script type="text/javascript"> tinyMCE.init({ 'mode': 'textareas', 'theme': 'advanced', 'width': 800, 'height': 600, }) </script> # mode 绑定的控件 theme 绑定的主题
页面中用form表单提交
<form action="{% url 'app:edit_blog' %}" method="post"> {% csrf_token %} <textarea name="content"> </textarea> <button>保存</button> </form>
在views.edit_blog中 如果是get请求,则调用这个页面
如果是post过来的保存请求, 就存入数据库
elif request.method == 'POST': content = request.POST.get("content") blog = Blog() blog.b_content = content blog.save() return HttpResponse("保存博客成功")