-
安装:
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-视图函数-模板,注意此时模板只需要写页面即可,不需要引入外部样式表和内部样式表。