我正在尝试将一些.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
文件夹中,但是会收到这些错误。
答案 0 :(得分:1)
这正是错误告诉你的。您尚未在任何地方定义filename
,但在open(settings.FILE_PATH+filename,'w')
尝试:
filename = str(uuid.uuid4()) + '.csv'
response['Content-Disposition'] = 'attachment; filename=' + filename
相关,但不是您所看到的问题,打开文件进行写作的重点是什么,但从不写任何内容?