gpt4 book ai didi

python - 如何在 Django 中输出 FilePathField 的完整路径?

转载 作者:行者123 更新时间:2023-11-30 21:53:48 24 4
gpt4 key购买 nike

考虑以下模型:

STOCK_IMAGE_DIR = os.path.join(settings.MEDIA_ROOT, 'stock_images')

class Product(models.Model):
stock_image = models.FilePathField(path=STOCK_IMAGE_DIR, default='image.png')

访问产品的stock_image时,仅返回图像名称:

>>> p = Product.objects.first()
>>> p.stock_image
'image.png'

如何输出文件的整个路径?

最佳答案

import os
p = Product.objects.first()
print(os.path.join(Product._meta.get_field('stock_image').path, p.stock_image))

或者

print(os.path.join(STOCK_IMAGE_DIR, p.stock_image))

或者,如果您将路径存储在类中,您可以添加一个属性来获取完整路径

class Product(models.Model):

STOCK_IMAGE_DIR = os.path.join(settings.MEDIA_ROOT, 'stock_images')

stock_image = models.FilePathField(path=STOCK_IMAGE_DIR, default='image.png')

@property
def stock_image_path(self):
return os.path.join(self.STOCK_IMAGE_DIR, self.stock_image)

然后你就可以使用该属性

p = Product.objects.first()
print(p.stock_image_path)

关于python - 如何在 Django 中输出 FilePathField 的完整路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59523817/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com