从django运行python脚本

时间:2015-06-24 17:46:01

标签: python django

我在django项目中添加了一些python文件,但是python文件没有执行。我如何在django中运行该python脚本。

1 个答案:

答案 0 :(得分:1)

好的,似乎你想要在HTTP请求/响应周期之外运行脚本, 我建议你制作一个Django管理命令,因为脚本需要例如有权访问数据库环境以更新记录

from django.core.management.base import BaseCommand
from yourapp.models import Thing
import your_script

class Command(BaseCommand):
    help = 'Closes the specified poll for voting'

    def handle(self, *args, **options):
        # Do your processing here
        your_script.process(Thing.objects.all())

有了这个,您可以致电./manage.py process_thing,它将独立运行

更多关于Django管理员命令的信息,https://docs.djangoproject.com/en/1.8/howto/custom-management-commands/

如果以编程方式触发处理,例如来自用户请求, 你必须设置一个队列,并为每个请求创建一个任务作业,我会尝试Celery,更多关于这一点http://celery.readthedocs.org/en/latest/django/first-steps-with-django.html