Django 管理脚本的用例是什么?

What is usecase of Django Management script?

我在很多社区听说过 Django 自定义管理脚本,但我不明白为什么我应该将自定义管理脚本编写为 Django manage.py 很多有用的命令?我是 django 的新手...

谁能告诉我一些自定义管理脚本的用例?

谢谢

documentation on Writing custom django-admin commands提到:

Applications can register their own actions with manage.py. For example, you might want to add a manage.py action for a Django app that you’re distributing

通常这些命​​令用于 "maintenance" 活动。或者给管理员更方便的工具。

例如,您可以使用django-unused-media [GitHub]。这将添加一个额外的管理命令,您可以像这样使用它:

./manage.py <b>cleanup_unused_media</b> --noinput

这将删除不再引用的媒体文件。然后,您可以创建一个 cronjob,例如每周调用该命令来清理媒体文件。因此,它可以帮助您减少磁盘 space 的使用,而不必自己动手。

另一个用例是让您的服务器管理更方便。事实上 makemigrations [GitHub], migrate [GitHub], makemessages [GitHub] and runserver [GitHub] 也是管理命令。所以你可能一直在使用这些命令。

您将一定数量的逻辑放入这些有用的内容中,并且您想重复多次。因此,不必每次更改模型时都自己定义迁移文件,您可以实现一次逻辑来编写此类命令,然后 developer/administrator,可以 运行 一个方便的脚本来完成一些工作。