我在许多社区中都听说过Django Custom Management脚本,但我不明白为什么我应该使用许多有用的命令以django manage.py
的形式编写自定义管理脚本?我在Django非常新...
谁能告诉我一些自定义管理脚本的用例?
谢谢
答案 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]也是管理命令。因此,您可能一直都在使用这些命令。
您在其中放入了一些有用的逻辑,并且您想重复几次。因此,您不必每次更改模型都自己定义迁移文件,而是可以实施一次逻辑来编写此类命令,然后开发人员/管理员可以运行便捷的脚本来完成一些工作。