【发布时间】:2018-01-15 18:37:51
【问题描述】:
我有模型产品:
def productFile(instance, filename):
return '/'.join( ['products', str(instance.id), filename] )
class Product(models.Model):
...
image = models.ImageField(
upload_to=productFile,
max_length=254, blank=True, null=True
)
...
然后我有序列化器:
class ProductSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = (
...
'image',
...
)
然后我有意见:
class ProductViewSet(BaseViewSet, viewsets.ModelViewSet):
queryset = Product.objects.all()
serializer_class = ProductSerializer
如何使用 Postman 上传图片?将图像上传到模型的最佳做法是什么?谢谢。
【问题讨论】:
-
去掉括号,
serializer_class = ProductSerializer.. 如果你使用的是ModelViewSet,那么你就不需要再写任何东西了......ViewSet会为你处理几乎所有的事情。 -
好的,谢谢,我如何使用邮递员上传图片,或者一些 Ajax 请求?
-
当我在我的模型中使用它时,我得到一个 ValueError("Cannot serialize function: lambda")
-
@Rony Azrak,我刚刚用有效的解决方案更新了这个问题。使用方法
productFile -
你能把你的代码发给我,用图像文件在模型中发布数据吗?我想知道它..我的代码向我显示了错误的请求 400 http://....
标签: django image-upload django-rest-framework