2

我有一个想要运行的 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."

它只是更新不重要的标题。

4

1 回答 1

3

通过dirkgroten在评论中添加一点,您可以创建一个调用以下功能的视图,并使用 ajax 异步调用它。

from django.core import management
management.call_command("syncdata")
于 2019-08-10T22:19:49.150 回答