文件上传后,在Django中运行Python代码的位置?

时间:2014-12-01 10:23:48

标签: python django

我的django应用程序有一个文件上传器,可以上传到我本地系统的特定位置。 它重定向到一个新的html页面,在上传完成后显示成功的消息。 上传文件后,我需要对csv文件进行一些处理。 我有一个python代码来处理。

现在我的问题是,我在哪里将python文件放在django项目中,如何在上传完成后调用它来运行?

任何帮助都是值得的 提前致谢

3 个答案:

答案 0 :(得分:2)

您可以将它放在任何您喜欢的地方,它只是Python。如果它适合单个模块,或者作为一个完全独立的库,如果它更多,可能在csv_processing.py。 Django对此没有意见。

运行它的最佳方法是使用Celery异步执行。

答案 1 :(得分:0)

确保该文件位于python包中,您可以通过将 init .py添加到目录文档here来完成此操作。按照Django惯例;您可以将文件放在需要使用它的应用程序中,也可以放在另一个名为utils的应用程序中,文档here

答案 2 :(得分:0)

问题:

  

我需要在应用程序上传文件后完全运行该文件。

答案:

new = Storage()
new.file = request.FILES['file']
new.save()

现在我们有了数据库ID。 (当文件对象保存到数据库中时,它会发出id)。

  

originalObj = Storage.objects.get(pk = new.id)

现在您可以导入csv文件并在此处进行修改。