我正在尝试从我在 Django 中创建的自定义视图中的按钮触发数据库备份。问题是,在我找到的有关数据库备份的所有信息中,该命令是自动触发的,或者是从 manage.py 命令触发的。
关于如何解决它的任何想法?甚至可以从视图中执行 manage.py 命令?
我正在尝试从我在 Django 中创建的自定义视图中的按钮触发数据库备份。问题是,在我找到的有关数据库备份的所有信息中,该命令是自动触发的,或者是从 manage.py 命令触发的。
关于如何解决它的任何想法?甚至可以从视图中执行 manage.py 命令?
是的,可以manage.py
从视图中执行命令。查看有关 django 文档的这一部分。
但真正的问题是你是否应该这样做。备份数据库需要时间,在视图中执行任何命令都将迫使 django 等待该命令完成,然后再将响应发送回浏览器。在那个执行时间里,你的一个工人会很忙,不会接受任何请求。
如果您错误地执行了多次视图,您可以阻止所有工作人员,这样在备份完成之前您的网站将无法访问。
考虑使用一些卸载或后台任务,如Celery、uWSGI spooler或不使用视图。