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

时间:2019-07-04 17:05:14

标签: django django-rest-framework django-manage.py

我在许多社区中都听说过Django Custom Management脚本,但我不明白为什么我应该使用许多有用的命令以django manage.py的形式编写自定义管理脚本?我在Django非常新...

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

谢谢

1 个答案:

答案 0 :(得分:1)

documentation on Writing custom django-admin commands提到:

  

应用程序可以通过manage.py 注册自己的操作。例如,您可能要为要分发的Django应用添加manage.py操作

通常,这些命令用于“维护”活动。或者为管理员提供更方便的工具。

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

./manage.py cleanup_unused_media --noinput

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

另一个用例是使服务器管理更加方便。实际上makemigrations [GitHub]migrate [GitHub]makemessages [GitHub]runserver [GitHub]也是管理命令。因此,您可能一直都在使用这些命令。

您在其中放入了一些有用的逻辑,并且您想重复几次。因此,您不必每次更改模型都自己定义迁移文件,而是可以实施一次逻辑来编写此类命令,然后开发人员/管理员可以运行便捷的脚本来完成一些工作。