富文本插入图片返回相对路径

来源:8-1 viewsets实现商品详情页接口

慕移动7006633

2018-05-31

老师,通过富文本插入图片,保存到数据库,查出来的是相对路径,前后端分离项目界面上面展示不了,怎么办?

http://img.mukewang.com/szimg/5b0fb2980001521108640300.jpghttp://img.mukewang.com/szimg/5b0fb2eb0001c74213750067.jpg

http://img.mukewang.com/szimg/5b0fb2fe000121a612600246.jpg

写回答

3回答

bobby

2018-06-01

这个问题是由于富文本编辑器上传图片的时候图片路径没有写完整, 只写了相对路径,所以这些图片需要使用django服务器的端口才能访问,后面如果你直接把前端项目用django返回就没有这个问题了

0
1
慕移动7006633
非常感谢!
2018-06-02
共1条回复

慕移动7006633

提问者

2018-06-02

自己修改了ueditor的view.py的源码,目前看是解决了

//img.mukewang.com/szimg/5b1249640001d63307250222.jpg

1
3
慕标4054706
修改了之后富文本就什么显示都没有了,请问这是为什么呢
2019-02-20
共3条回复

weixin_慕容3256306

2018-11-29

Ueditor是基于django的TextField写的,TextField对应serializer的CharField不会检查里面是否有url,所以不能像ImageField一样补全url。

可以给Ueditor单独实现一个seralizer字段,自己处理下url

import re

from rest_framework.fields import CharField


class UeditorField(CharField):
    def to_representation(self, value):
        text = super(UeditorField, self).to_representation(value)
        urls = re.findall(r'src="(.*?)"', text)
        request = self.context.get('request', None)
        if request is not None:
            urls = [request.build_absolute_uri(i) for i in urls]

        text = re.sub(r'src="(.*?)"', 'src="{}"', text)
        text = text.format(*urls)
        return text


0
2
啥昵称不占用
这个代码是要加到哪里的?怎么使用?
2019-08-04
共2条回复

Python前后端分离开发Vue+Django REST framework实战

Django REST framework课程视频,RESTFul API前后端分离开发

2872 学习 · 2457 问题

查看课程