我希望允许我的用户上传一个联系人数据CSV,这些数据将填充一个名为“联系人”的模型。我使用过django-csv-importer这似乎没问题。但是,我想使用像芹菜这样的东西,以便用户可以上传,只是忘记等待(此刻可能需要5分钟)。
这些项目是否与django-csv-importer相关,但与celery集成部分有关?如果有更好的方法,有人可以给我任何例子吗?
非常感谢。
答案 0 :(得分:2)
很高兴我和django-csv-importer的作者一起工作,并且可以报告django-adapters(https://github.com/anthony-tresontani/django-adaptors)形式的更新版本,它是同一个项目但是重命名,所以它可能会有一些新东西。
至于你的具体问题,约书亚的答案是正确的。但是如果你想要一个完全有审计线索的荒谬丰富的实现,请看看:http://codeinthehole.com/writing/use-models-for-uploads/
答案 1 :(得分:1)
from celery.task import task
@task
def import_csv(filename):
my_csv_list = MyCsvModel.import_data(data = open(filename))
...
然后在视图中调用import_csv.delay(filename)。