使用芹菜导入CSV

时间:2013-03-13 22:54:31

标签: django django-celery

我希望允许我的用户上传一个联系人数据CSV,这些数据将填充一个名为“联系人”的模型。我使用过django-csv-importer这似乎没问题。但是,我想使用像芹菜这样的东西,以便用户可以上传,只是忘记等待(此刻可能需要5分钟)。

这些项目是否与django-csv-importer相关,但与celery集成部分有关?如果有更好的方法,有人可以给我任何例子吗?

非常感谢。

2 个答案:

答案 0 :(得分:2)

很高兴我和django-csv-importer的作者一起工作,并且可以报告django-adapters(https://github.com/anthony-tresontani/django-adaptors)形式的更新版本,它是同一个项目但是重命名,所以它可能会有一些新东西。

至于你的具体问题,约书亚的答案是正确的。但是如果你想要一个完全有审计线索的荒谬丰富的实现,请看看:http://codeinthehole.com/writing/use-models-for-uploads/

答案 1 :(得分:1)

在tasks.py

from celery.task import task

@task
def import_csv(filename):
    my_csv_list = MyCsvModel.import_data(data = open(filename))
    ...

然后在视图中调用import_csv.delay(filename)。