这是我下载csv的代码,很简单,
@admin.register(User)
class UserAdmin(admin.ModelAdmin):
actions = ['download_csv_file','send_mail']
def download_csv_file(self, request, queryset):
import StringIO
f = StringIO.StringIO()
import csv
writer = csv.writer(f)
writer.writerow(['first name','mobile','email','gender'])
for i in queryset:
print(i)
writer.writerow([i.first_name,i.mobile,i.email,i.gender])
f.seek(0)
from django.http import HttpResponse
response = HttpResponse(f, content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename=User-info.csv'
return response
这完全适用于我的localhost。
但是当我在heroku上部署它时,我无法下载csv。
它提供500 interval server error
。
这是相应的日志记录,
2017-12-03T14:36:06.940950+00:00 heroku[router]: at=info method=POST path="/admin/bookings/user/" host=xxxxx-xx.herokuapp.com request_id=xxxx fwd="xx.xx.xx.xx" dyno=web.1 connect=0ms service=47ms status=500 bytes=234 protocol=https
我无法理解为什么它会在heroku上发生。
问题出在哪里?