无法使用Django和Python将csv文件保存到文件夹中

时间:2017-08-17 11:22:08

标签: python django csv

我正在尝试将一些.csv文件保存到文件夹中,但它使用Python和Django抛出以下错误。我在下面解释我的错误。

错误:

Exception Type:     NameError
Exception Value:    

global name 'filename' is not defined

我正在解释下面的代码。

report = Reactor.objects.all()
    response = HttpResponse(content_type='text/csv')
    response['Content-Disposition'] = 'attachment; filename='+str(uuid.uuid4())+'.csv'
    writer = csv.writer(response)
    writer.writerow(['Name', 'Status', 'Date'])
    for rec in report:
        if rec.status == 1:
            status = 'Start'
        if rec.status == 0:
            status = 'Stop'
        if rec.status == 2:
            status = 'Suspend'
        writer.writerow([rec.rname, status, rec.date])
    open(settings.FILE_PATH+filename,'w')
    return response

settings.py:

FILE_PATH = os.path.join(BASE_DIR, '/upload/')

在这里,我将DB值拧入.CSV文件并下载。同时我需要将下载的文件保存到upload文件夹中,但是会收到这些错误。

1 个答案:

答案 0 :(得分:1)

这正是错误告诉你的。您尚未在任何地方定义filename,但在open(settings.FILE_PATH+filename,'w')

中调用它

尝试:

filename = str(uuid.uuid4()) + '.csv'
response['Content-Disposition'] = 'attachment; filename=' + filename

相关,但不是您所看到的问题,打开文件进行写作的重点是什么,但从不写任何内容?