django使用富文本编辑器

  • 安装:pip install django-tinymce

  • [创建应用]

  • 注册应用:setings.py文件内INSTALLED_ED列表内添加'tinymce',[应用名],

  • 分情况配置:

  • 前台使用:

# 创建模型
from books.models import User
class PrivateMessage(models.Model):
    ptext = models.CharField(max_length=200)
    pto_id = models.ForeignKey(User, on_delete=models.CASCADE)
    # 是否已读
    pstatus = models.BooleanField(default='False')
    # 正整数
    puid = models.CharField(max_length=10)

2.配置路由:

url(r'^privatemessage/$', views.privatemessage, name='privatemessage'),

3.编写函数

def privatemessage(request):
    user = User.objects.filter(user_name=request.session['user'])[0]
    # 添加评论
    if request.method == 'POST':
        to = User.objects.filter(user_name=request.POST['to'])[0]
        text = request.POST['ptext']
        msg = PrivateMessage()
        msg.pto_id = to
        msg.ptext = text
        msg.puid = user.user_name
        msg.save()
        print('fasong')
    # 查询内容
    # todo 更改阅读状态
    pms = PrivateMessage.objects.filter(pto_id=user.id)
    return render(request, 'books/reader_privatemessage.html', {'pms': pms})

4.模板

{% extends 'books/layout.html' %}
{% block body %}
{#    <script src="/static/tiny_mce.js"></script>#}
{#    <script src="/static/tiny_mce_popup.js"></script>#}
{#    <script src="/static/tiny_mce_src.js"></script>#}
# 找到css样式
<script src="/static/tiny_mce/tiny_mce.js"></script>
# 配置内容
    <script type="text/javascript">
    tinyMCE.init({
        'mode':'textareas',
        'theme':'advanced',
        'width':400,
        'height':100
    });

</script>
    <style>
        .body{
            background-image: url('/static/media/useruploadimg/t01f7fd2a2fec1eacde.jpg');
            background-repeat: no-repeat;
            background-size: 100% 100%;"
        }
    </style>
    {% for pm in pms %}
        {{ pm.puid }}向您发送了消息:
        {{ pm.ptext|safe }}
    {% endfor %}

    <form action="{% url 'user:privatemessage' %}" method="post">
    {% csrf_token %}
        请输入您要发送的用户人:<input type="text" name="to"><br>
        请输入内容:<br>
        <textarea name="ptext" cols="30" rows="10"></textarea>
        <input type="submit" value="提交">
        <a href="{% url 'user:menu' %}">返回</a>
    </form>
{% endblock %}
  • 后台使用:
settings.py文件下:
TINYMCE_DEFAULT_CONFIG = {
    'theme': 'advanced',
    'width': 600,
    'height': 400,
}
# 创建模型
from tinymce.models import HTMLField
class Message(models.Model):
    mtitle = models.CharField(max_length=20, default='通知')
    # 后台管理使用
    mtext = HTMLField()

生成数据迁移并创建表
url-视图函数-模板,注意此时模板只需要写页面即可,不需要引入外部样式表和内部样式表。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值