有没有办法分别部署Django Admin和您的主应用程序,尽管它们共享相同的模型/业务逻辑服务。
我来自Grails的背景,您可以在其中创建一个插件,该插件可以保存您的实体和通用业务逻辑,并且该插件可以被其他部署的应用程序利用,尽管使用同一数据库也可以单独扩展。您不必为每次更改都重新打包插件,而只需将其同级文件夹保存到其他项目中即可。
我可以用Django实现类似的功能吗?
答案 0 :(得分:1)
假设使用典型的设置,为了变得有用,Django Admin需要访问项目的应用程序及其模型。
因此,您描述的设置至少需要:
即使您的模型和管理员绑定不依赖于代码库的其他部分, 将上述组件提取到一个单独的项目中,然后保留所有内容 同步听起来很难。
总结:我会说很难,但是如果您确实需要某些东西, 但是Django Admin的设计并没有考虑到这种用例。
答案 1 :(得分:0)
Django管理员实际上通过placing it on its own url与主应用程序分开。即使他们知道管理员url,用户也无法登录该站点的管理员,除非已通过管理员将其分配为“工作人员”状态。您可以将admin前缀设置为所需的任何内容,因此,如果要“隐藏” admin登录页面,只需使其长而随机(也有利于安全),基本上没有人,但您告诉的人甚至都知道在哪里可以找到管理站点。