我有一个django文件模型,该模型具有models.FileField字段和用于将文件上传到服务器的表单:
class UploadFile(model.Model):
filename = models.FileField(upload_to='uploads')
description = models.CharField(max_length=38, blank=True)
class UploadFileForm(ModelForm):
class Meta:
model = UploadFile
fields = ('filename', 'description')
这是view函数的样子:
def upload_file(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
new_file = form.save()
现在,我想拥有一个仅使用标准库的python脚本,使用上述视图功能将文件上传到UploadFile模型。但是,此代码不起作用,因为POST请求没有FILES方法。
import urllib, urllib2
data = urllib.urlencode({'filename': open(uploadfile, "rb"),
'description': 'upload test'})
post_req = urllib2.Request(upload_file_url, data)
result = urllib2.urlopen(post_req)
如何在POST请求中添加FILES方法以使用python脚本上传文件?我还尝试编写不使用该表单但不起作用的其他视图函数。
相关分类