Python 使用django web应用程序将csv文件导入mysql数据库

Python 使用django web应用程序将csv文件导入mysql数据库,python,django,Python,Django,我试图上传一个csv文件到我的web应用程序中并将其存储到mysql数据库中,但失败了。有人能帮我吗 my user.py脚本: def import_contact(request): if request.method == 'POST': form = UploadContactForm(request.POST, request.FILES) if form.is_valid(): csvfile = request.FILES['file']

我试图上传一个csv文件到我的web应用程序中并将其存储到mysql数据库中,但失败了。有人能帮我吗

my 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)
class UploadContactForm(forms.Form):
file  = forms.FileField(label='File:', error_messages = {'required': 'File required'})
my forms.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)
class UploadContactForm(forms.Form):
file  = forms.FileField(label='File:', error_messages = {'required': 'File required'})

由于您尚未提供
getcsv
函数的代码,因此我不得不在这里使用我的水晶球

testReader:循环中的
for行中的打印不起作用的一个原因是
getcsv
可能已经处理了该文件。用于将文件中的对象位置再次重置为零。这样for循环将正确地处理它


数据库中没有存储任何内容的另一个原因可能是,您提供的代码中似乎没有对数据库的引用。那么Django应该如何知道它应该存储什么以及存储在哪里呢?

您到底是如何失败的?您没有提供足够的信息。我正在使用ubuntu linux。因此,当我提交csv文件进行上传时,终端将打印我选择的文件名,但它没有加载到我的网站或保存到MySQL。您是否确保模板中的表单元素具有属性:enctype=“multipart/form data”请有人帮帮我!!在这里停留的时间太长了
getcsv
应该执行实际导入的函数?如果你能证明这一点可能会有所帮助。你这里的代码只能打印。