我需要通过在芹菜任务的网页上传一个csv文件来调用每行csv的api。但是我得到一个错误<InMemoryUploadedFile>
不是JSON可序列化的
我想使用以下方法将文件转换为json:
json.dumps(unicode(self.get_form_kwargs().get('files')['uploaded_file']))
但它也不起作用
在views.py
中:
class FileUploadView(FormView):
template_name = 'addFile.html'
form_class = FileUploadForm
@method_decorator(sales_spear_login_required)
def dispatch(self, *args, **kwargs):
return super(FileUploadView, self).dispatch(*args, **kwargs)
def form_valid(self, form):
file_det = self.get_form_kwargs().get('files')['uploaded_file']
create_dialer_report_async(self.request.user.email, file_det, list_name, campaign_name)
return render(self.request, self.template_name, {'form': form, 'report_generated': True})
在services.py
中:
def create_dialer_report_async(logged_user_email, file_det, list_name, campaign_name):
create_dialer_report.apply_async((logged_user_email, file_det, list_name, campaign_name))
def create_dialer_report(user_emails, file_det, list_name, campaign_name):
reader = csv.DictReader(file_det)
for row in reader:
# calling api from each row
它应该是可用的csv文件对象中服务.py. 不过,我相信这是字符串在这里。你知道吗
像这样:
希望这对你有所帮助。你知道吗
相关问题 更多 >
编程相关推荐