pylixm / django-mdeditor

Django-mdeditor is Markdown Editor plugin application for django base on Editor.md.
https://pypi.org/project/django-mdeditor/
GNU General Public License v3.0
481 stars 103 forks source link

django 后台可以上传图片,前台链接没有加上base_dir #164

Closed whk-newbie closed 1 year ago

whk-newbie commented 2 years ago

django 后台上传图片成功,保存后再次也可以加载图片 1652105549(1)

使用MarkDown库对文本数据渲染成html后,文本无问题,图片链接无base_dir 1652105645(1) (尝试取消markdown渲染成html后依旧无basedir)

前端网页文章内容的图片无法显示

1652105721(1)

手动在url处添加base_dir后可访问到图片 1652106411(1)

相关setting 1652106438(1)

1652106620(1)

requirement

Django==4.0
  django-filter==21.1
  django-mdeditor==0.1.20
  django-simpleui==2022.1
  djangorestframework==3.13.1
  Markdown==3.3.6
pylixm commented 2 years ago

这是来自QQ邮箱的假期自动回复邮件。您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。

glinxx commented 2 years ago

我也遇到这个问题,前后端分离时,这个相对图片地址就显示不了。有没有什么好的解决方法,打算在序列化时自动补全完整的url

whk-newbie commented 2 years ago

@glinxx

我也遇到这个问题,前后端分离时,这个相对图片地址就显示不了。有没有什么好的解决方法,打算在序列化时自动补全完整的url 我后面先放下这个问题了,我部署到服务器上的时候,前面创建的测试文字内图片文章里图片可以显示🤣,但是又出现了新问题,就是我没法上传图片了,不过这个应该时我nginx路径的配置问题;你可以参考下

pylixm commented 2 years ago

@glinxx @whk-newbie

你们这个问题是 django 自身静态文件的设定,当 debug = True 时,django 静态文件会去找你配置的 media_url 参数的路径里找,比如下边这样:

image

当debug 设置为 False 时,django 就不自动处理静态文件了,这时需要我们自己搭建一个 nginx 等其他静态文件服务。

生产环境,Django 前一般都会挂一个nginx 服务来处理静态文件,collectstatic 将静态文件收集到一个目录,将改目录指定到一个路由即可。 更多你可以参考我这个项目: https://github.com/pylixm/docker-django-demo/blob/docker-compose-production2/compose/nginx/nginx.conf

pylixm commented 1 year ago

长时间没反馈,如还有问题可随时打开此issue。