在Django中上传图像的正确方式是什么
我有一个用于创建特定资源的REST端点,但现在我想添加在创建资源时上载图像的功能。这样做的正确方式是什么?您是否需要单独上传文件,然后执行另一个POST请求来创建资源?我对Django不是很在行,但我是通过使用表单来完成的,而且效果很好 forms.py在Django中上传图像的正确方式是什么,django,django-models,django-rest-framework,Django,Django Models,Django Rest Framework,我有一个用于创建特定资源的REST端点,但现在我想添加在创建资源时上载图像的功能。这样做的正确方式是什么?您是否需要单独上传文件,然后执行另一个POST请求来创建资源?我对Django不是很在行,但我是通过使用表单来完成的,而且效果很好 forms.py class ProductForm(forms.ModelForm): class Meta: model = Product fields = ('brand', 'name', 'image', 'price',
class ProductForm(forms.ModelForm):
class Meta:
model = Product
fields = ('brand', 'name', 'image', 'price',
'warrenty', 'description', 'seller')
和在views.py中
def merchant_product(request):
if request.method == 'POST':
form = ProductForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('merchant-product')
else:
print('Adding product failed from {}'.format(request.user.id))
return render(request, 'dashboard/merchant/product.html', {'form': ProductForm})
最后在HTML文件中输入图像字段
<input class="form-control" type="file" name="{{form.image.name}}" required>
确保对models.py中的图像使用FileField而不是ImageField