Django正在执行Python脚本

Django正在执行Python脚本,python,django,csv,Python,Django,Csv,我正在和一只猫做复制 我用代码更改了view.py,将csv文件转储到sqlite数据库中。 我已经在默认的sqlite数据库中创建了表 import sqlite3 import csv import sys from django.shortcuts import render_to_response from django.template import RequestContext from django.http import HttpResponseRedirect from dja

我正在和一只猫做复制

我用代码更改了view.py,将csv文件转储到sqlite数据库中。 我已经在默认的sqlite数据库中创建了表

import sqlite3
import csv
import sys
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse

from myproject.myapp.models import Document
from myproject.myapp.forms import DocumentForm

def list(request):
    # Handle file upload
    if request.method == 'POST':
        form = DocumentForm(request.POST, request.FILES)
        if form.is_valid():
            newdoc = Document(docfile = request.FILES['docfile'])
            newdoc.save()


    gfile= csv.reader(open(newdoc))
    gon = sqlite3.connect("database.sqlite")
    gon.text_factory = str
    gon.execute("DELETE FROM abc where rowID > 0 ")
    gon.executemany("insert into abc values (?, ?, ?, ?, ?)", gfile)
    gon.commit()
    gon.close()*

    return HttpResponseRedirect(reverse('myproject.myapp.views.list'))
    else:
        form = DocumentForm() # A empty, unbound form

    # Load documents for the list page
    documents = Document.objects.all()

    # Render list page with the documents and the form
    return render_to_response(
        'myapp/list.html',
        {'documents': documents, 'form': form},
        context_instance=RequestContext(request)
    )
我的代码是从第一次引入gfile开始的

错误@第20行:强制使用unicode:需要字符串或缓冲区,找到文档
请帮助

您正在将
文档
实例传递到
打开
。相反,您应该传递文件,该文件直接上载到
csv.reader

gfile = csv.reader(request.FILES['docfile'])

您正在将
文档
实例传递到
打开
。相反,您应该传递文件,该文件直接上载到
csv.reader

gfile = csv.reader(request.FILES['docfile'])

newdoc
是一个
文档
open()
open()
接受一个文件名,它是一个字符串。谢谢,它似乎可以工作,现在它卡在数据库表上了。错误:第23行:没有这样的表ABCThank了很多,数据库问题解决了,我给出了数据库的完整路径,它工作了。再次感谢你们伟大的指导,看起来它会工作,现在它卡在了数据库表上。错误:第23行:没有这样的表ABCThank了很多,数据库问题解决了,我给出了数据库的完整路径,它工作了。再次感谢您的大力指导