小编Pur*_*opy的帖子

Django Rest应用程序没有正确使用媒体根来提供图像

我有一个项目有3个应用程序,一个名为商店的商店模型,产品有产品模型,api是其余的框架应用程序,为客户提供Json结果.我在settings.py中设置了媒体根,MEDIA_ROOT = '/photos/'并且上传适用于产品和商店模型.这里的主要问题是,由于某种原因,其余框架返回一个引用api app而不是产品的url或存储媒体根URL的应用程序.这是我的模特

class Product(models.Model):

def get_image_path(instance, filename):
    return '/Products/' + filename

picture = models.ImageField(width_field=None, max_length=100, blank =True, null =True)
Run Code Online (Sandbox Code Playgroud)

商店:

class Store(models.Model):


def __str__(self):
    return self.name


def get_image_path(instance, filename):
    return os.path.join('productphotos', 'stores', filename)

picture = models.ImageField(width_field=None, max_length=100, blank =True, null =True)
Run Code Online (Sandbox Code Playgroud)

如何将mediaroot设置为项目目录,以便项目中的所有应用程序将其引用为mediaroot而不是自己?

上传工作并将图片上传到项目根目录中的指示目录(找到manage.py),但其余框架认为它应该从api应用程序获取媒体..这样做的正确方法是什么?这是截图:

上传到的路径 成功上传路径

在json中返回的路径 DRF返回的路径

python django image image-uploading django-rest-framework

2
推荐指数
1
解决办法
1404
查看次数