Python &引用;耙;或者我在Django的海关任务

Python &引用;耙;或者我在Django的海关任务,python,django,Python,Django,在Rails中,我可以为rake创建一个自定义的a作业,它可以做我想做的任何事情,然后作为“rake my_task”运行它。在Django有什么办法 特别是,我需要创建这样一个作业,它以自定义格式读取我自己的数据文件,以特殊方式处理数据,然后将数据插入数据库。我将运行它多次,而不仅仅是一次。为了实现这一点,我创建了一个纯python脚本并运行了它,但出现了一个错误 django.core.exceptions.ImproperlyConfigured: Requested setting DE

在Rails中,我可以为rake创建一个自定义的a作业,它可以做我想做的任何事情,然后作为“rake my_task”运行它。在Django有什么办法

特别是,我需要创建这样一个作业,它以自定义格式读取我自己的数据文件,以特殊方式处理数据,然后将数据插入数据库。我将运行它多次,而不仅仅是一次。为了实现这一点,我创建了一个纯python脚本并运行了它,但出现了一个错误

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
因此,python脚本不起作用,必须有django方法来实现它。

django方法是创建一个 如果您想创建一个外部python脚本,那么还有一种方法(EDIT:对于django 1.7来说,这实际上已经过时)以及一个如何创建自定义命令的示例。如果您使用的是最新版本的django,我建议您使用django文档

关于相关主题,请查看

编辑: 对于django>=1.7独立脚本:

import os
import django
from myapp import models

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings")
django.setup()

print models.MyModel.objects.get(pk=1)

有两种方法可以在我的头顶上完成

1-您可以编写一个自定义管理命令,由
manage.py
调用:

2-python世界中的rake等价物是pyinvoke:,它是fabric的继承者,从rake本身获得了一些设计灵感

使用invoke时,如果需要设置django环境,请使用