gal*_*kak 4 django upload django-models
我的问题很简单.我有这样的模板:
<form enctype="multipart/form-data"
action="{% url offers.views.add_offer %}" method="post">
<input type="file" name="image1" />
<input type="file" name="image2" />
<input type="submit" value="Add" />
</form>
Run Code Online (Sandbox Code Playgroud)
模型看起来像这样:
class Image(models.Model):
image = models.ImageField(upload_to='uploads/images/offers/')
Run Code Online (Sandbox Code Playgroud)
和那样的形式(它使用模型图像):
class ImageForm(ModelForm):
class Meta:
model = Image
Run Code Online (Sandbox Code Playgroud)
并且看起来像那样:
for f in request.FILES:
# imageform:
image = ImageForm(request.POST, f)
image.save()
Run Code Online (Sandbox Code Playgroud)
问题是我无法上传图片.我想在图像模型的两个单独的实例中保存图像.
我有一个错误:
'unicode'对象没有属性'get'
感谢您的帮助和回应.
更新以提供更多信息
男人,Django Formsets是你需要的:
http://docs.djangoproject.com/en/dev/topics/forms/formsets/
编辑:
风景:
def manage_images(request):
ImageFormSet = formset_factory(ImageForm)
if request.method == 'POST':
formset = ImageFormSet(request.POST, request.FILES)
if formset.is_valid():
# do something with the formset.cleaned_data
else:
formset = ImageFormSet()
return render_to_response('manage_images.html', {'formset': formset})
Run Code Online (Sandbox Code Playgroud)
模板:
<form enctype="multipart/form-data" action="{% url offers.views.add_offer %}" method="post">
{{ formset.management_form }}
<table>
{% for form in formset.forms %}
{{ form }}
{% endfor %}
</table>
</form>
Run Code Online (Sandbox Code Playgroud)