首页 > 解决方案 > 如何使用django-ckeditor为不同的模型指定不同的图片上传路径?

问题描述

通常的做法是定义CKEDITOR_UPLOAD_PATH = 'uploads/'settings.py. 但这会将所有模型中的图像保存在唯一的路径中。是否可以为每个模型分配不同的图像路径?

class BlogModel(models.Model):
    ......
    content = RichTextUploadingField() # image upload to /media/blog/

class NewsModel(models.Model):
    ......
    content = RichTextUploadingField() # image upload to /media/news/

标签: djangodjango-ckeditor

解决方案


您可以使用 FileField 分配路径upload_to='pathname'

class BlogModel(models.Model)
    content = models.FileField(upload_to='blog/')


class NewsModel(models.Model)
    content = models.FileField(upload_to='news/')

Blogmodel 内容将上传到/media/blog/

新闻模型内容将上传到/media/news/

你也可以这样做:

content = models.FileField(upload_to='pathname/%Y/%m/%d/')

将被保存为 /pathname/2019/04/04/


推荐阅读