Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过Heroku网站上的按钮执行python manage.py django管理命令_Python_Django_Heroku_Executable_Django Commands - Fatal编程技术网

如何通过Heroku网站上的按钮执行python manage.py django管理命令

如何通过Heroku网站上的按钮执行python manage.py django管理命令,python,django,heroku,executable,django-commands,Python,Django,Heroku,Executable,Django Commands,我想运行Django管理命令。我想有一个用户可以通过点击按钮,它会执行它。我不需要帮助来编写它们-我让它们工作,但我始终需要从终端运行它们,如: heroku run python manage.py syncdata 非常方便的是,只要点击正在运行的生产网站上的按钮,它就会为我启动它。如何在Heroku上运行的站点上实现这一点 举个简单的例子: from django.core.management.base import BaseCommand from project.models im

我想运行Django管理命令。我想有一个用户可以通过点击按钮,它会执行它。我不需要帮助来编写它们-我让它们工作,但我始终需要从终端运行它们,如:

heroku run python manage.py syncdata
非常方便的是,只要点击正在运行的生产网站上的按钮,它就会为我启动它。如何在Heroku上运行的站点上实现这一点

举个简单的例子:

from django.core.management.base import BaseCommand
from project.models import Video

class Command(BaseCommand):
    help = 'Sync Movie / Plays'

    def handle(self, *args, **options):

        uri_video = Video.objects.all()
        for item in uri_video:
            item.update(title=item.title.capitalize())

        print "Done."

更新标题并不重要。

在注释中添加一点内容,您可以创建一个调用以下功能的视图,并使用ajax异步调用它

from django.core import management
management.call_command("syncdata")

管理命令的
handle()
函数就是一个python函数,您可以从任何地方调用它。因此,只要构建一个调用它的视图,您的按钮就会有一个javascript使用ajax调用该视图,如果调用成功或失败,就会返回。@dirkgroten我添加了一个django命令的小示例。你能展示一个简单的示例代码如何在视图中调用它吗?如果可能的话,使用一个小的javascript/ajax返回?在@dirkgroten的回答中添加了一条注释-你能展示一个小示例如何实现这一点吗?