我尝试将csv文件上传到我的Web应用程序并将其存储到mysql数据库中但失败了。请问有人可以帮助我吗?
我的user.py脚本:
def import_contact(request):
if request.method == 'POST':
form = UploadContactForm(request.POST, request.FILES)
if form.is_valid():
csvfile = request.FILES['file']
print csvfile
csvfile.read()
testReader = csv.reader(csvfile,delimiter=' ', quotechar='|')
for row in testReader:
print "|".join(row)
return HttpResponseRedirect('/admin')
else:
form = UploadContactForm()
vars = RequestContext(request, { 'form': form })
return render_to_response('admin/import_contact.html', vars)
my forms.py脚本:
class UploadContactForm(forms.Form):
file = forms.FileField(label='File:', error_messages = {'required': 'File required'})
答案 0 :(得分:1)
由于你没有提供getcsv
功能的代码,我将不得不在这里使用我的水晶球。
for row in testReader:
循环中的打印不起作用的一个原因是getcsv
可能已经处理了该文件。使用the seek
method将文件中的对象位置重置为零。这样,for循环将正确处理它。
数据库中没有任何内容存储的另一个原因可能是您提供的代码中似乎没有model的引用。那么Django应该如何知道应该存储什么以及在哪里?