DjangoUeditor之原样展⽰已有的富⽂本内容到富⽂本编辑器
在上⼀篇⽂章()中我们使⽤form向前端模板渲染了Ueditor富⽂本编辑器界⾯,但当时只讲到了创建⼀个新⽂本内容的界⾯的做法,对于该⽂本内容的⼆次展⽰并未作进⼀步解释,这对⼀些初学者很是不便,特别是不熟悉JavaScript的同学更是不知如何下⼿,所以出⼀个解决⽅案,关键见下⽂第三步。
注意:下⾯教程内容基于上⼀篇⽂章的环境,如对下⽂的表述不理解,建议先翻看上⼀篇⽂章,下⽂仍是以⽂章模型为例。
三步⾛
1、写⼀个url
⾸先,请求时是要带上能识别所请求⽂章的标记,如⽂章id,所以该url可以这样写:
urlpatterns = [
asp富文本编辑器path('manage_article/<id>/', manage_article, name='manage_article'),
]
2、写⼀个view函数
def manage_article(request, id):
context = {
'article': (id=id),
'content_form': ContentForm()
}
hod == 'GET':
return render(request, 'app_manage/article.html', context=context)
hod == 'POST': # 因为前端只是⽤form表单提交,所以我们在这⾥⽤post代替put作为修改数据的意思,简单起见,不考虑restfull那些标准做法哈
Article.objects.filter(id=id).update(**request.POST)
return HttpResponseRedirect('/manage/manage_article/' + id) # 我这⾥是返回修改后的最新⽂章内容页⾯,等于做了⼀次get请求
3、前端界⾯依然⽤上⼀篇⽂章的界⾯代码,但是
因为这次是⼆次展⽰,是有⽂章内容的,所以我们应该把⽂章内容按照富⽂本的原样格式放到富⽂本编辑器中展⽰出来,我们可以⽤js来实现:
<script>
{% if article %}
//如果⽂章有内容就填充在content_form中
{% endif %}
</script>
解释:这⾥的id_content是根据form的字段默认设置的富⽂本标签id,如果你不知道它的id是什么,可
以在前端按F12或者查看源码查看该⽂本的id是什么,⼀般都是id_+form的字段名称。通过DOM获取到该id的标签元素后,直接⽤模板语⾔渲染即可,这⾥要⽤上safe过滤器以原样展⽰富⽂本。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论