编辑:
Q1 通过添加enctype="multipart/form-data"
到表单模板来解决。请对第二季度发表评论。
Qn1:尝试读取通过 Forms 上传的 csv 文件时出现以下错误。例外可能在这一行。
records = csv.reader(f)
不知道要通过什么。请看下面的代码。
Qn2:是否可以在模型中进行 csv 处理(csv 用于上传域数据,因此验证/保留为域对象)。我是 Django/Python 的新手,到目前为止我看到的大多数示例在模型中都没有太多方法。这与我过去捕获与模型相关的所有业务逻辑的方式有点不同。想知道 django 中的惯用用法。
例外:
Django Version: 1.4.1
Exception Type: TypeError
Exception Value:
argument 1 must be an iterator
看法:
def upload(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
w = Testme()
w.importCsv(form.cleaned_data["file"])
return HttpResponseRedirect('/')
else:
form = UploadFileForm()
return render_to_response('setup.html', {'form': form},context_instance=RequestContext(request))
形式:
class UploadFileForm(forms.Form):
title = forms.CharField(required=False)
file = forms.FileField(required=False)
模型:
class Testme(models.Model):
code = models.IntegerField()
ctu = models.IntegerField()
address = UsAddress
def importCsv(self, f):
records = csv.reader(f)
for line in records:
logger.debug(line)