Python 在不重新启动服务器的情况下添加和删除Django应用程序?
在不重新启动nginx服务器的情况下,从django安装中包括/排除django应用程序需要进行哪些更改(如果可能的话) 特别是,我希望在不中断用户输入(文件上传和下载)的情况下向项目中添加一个新的(动态创建的)应用程序。项目不需要访问新应用程序,但新应用程序会向现有项目添加URL、模型和数据库 到目前为止,我只是在空闲时间重新启动服务器,但我希望有如下内容:Python 在不重新启动服务器的情况下添加和删除Django应用程序?,python,django,Python,Django,在不重新启动nginx服务器的情况下,从django安装中包括/排除django应用程序需要进行哪些更改(如果可能的话) 特别是,我希望在不中断用户输入(文件上传和下载)的情况下向项目中添加一个新的(动态创建的)应用程序。项目不需要访问新应用程序,但新应用程序会向现有项目添加URL、模型和数据库 到目前为止,我只是在空闲时间重新启动服务器,但我希望有如下内容: GET /add/<app_name>/ def add(request, app_name): INSTALLED_
GET
/add/<app_name>/
def add(request, app_name):
INSTALLED_APPS.append(app_name)
DATABASES["app-" + app_name] = { db_data }
DATABASE_ROUTERS += ["apps." + app_name + ".router.Router",]
…
GET
/加//
def添加(请求、应用程序名称):
已安装的应用程序。附加(应用程序名称)
数据库[“app-”+app_name]={db_data}
数据库_路由器+=[“应用程序”+应用程序_名称+“.router.router”,]
…
这有可能吗?是否有其他变量需要修改?这是不可能的,也不建议这样做。您需要重新启动后端服务器(运行django进程的nginx中的上游服务器)
此外,我很好奇当你说“动态创建的应用程序”时你在做什么,因为这听起来像是一个寻找问题的解决方案。“动态创建的应用程序”可能是一个应用程序,它是在上传模型规范后创建的。之后,django的管理界面可以直接管理对象实例,以简化数据管理,而无需启动其他服务器;要管理这些“模型”(如果结构灵活,听起来像nosql的工作),那么您可以编写一个自定义管理员来管理所有这些“模型”。是的,可能是一种解决方案。然而,我想为创建的应用程序使用其他一些django功能,因此可能没有办法重新启动。一个可能的用例是一个可插拔的应用程序。拥有从“应用商店”下载并添加到系统中的“Django应用插件”,无需重新启动Django,只需重新加载即可。你会怎么做?我可以在运行时不使用应用程序添加模型吗?在运行时可以调用_命令(“makemigrations”)和调用_命令(“migrate”)。