【问题标题】:Deploying Django admin and Site as different applications将 Django 管理员和站点部署为不同的应用程序
【发布时间】:2019-06-06 09:59:08
【问题描述】:

有没有办法单独部署 Django Admin 和您的主应用程序,尽管它们共享相同的模型/业务逻辑服务。

我来自 Grails 背景,您可以在其中创建一个插件,该插件可以保存您的实体和通用业务逻辑,并且该插件可以被其他应用程序使用,尽管使用相同的数据库,但可以单独部署和扩展。您不必为每次更改都重新打包插件,而只需将其与其他项目的同级文件夹重新打包。

我可以用 Django 实现类似的东西吗?

【问题讨论】:

  • 您可以让您的应用程序成为您可以随心所欲地提供服务的 api

标签: django


【解决方案1】:

假设一个典型的设置,为了有用,Django Admin 需要访问项目的应用程序及其模型。

因此,您描述的设置至少需要:

  • 只有 Django Admin 的简单 URLconf
  • 所有需要管理员的应用的模型及其管理员绑定
  • 带有数据库凭据的设置

即使您的模型和管理绑定不依赖于代码库的其他部分, 将上述组件提取到单独的项目中,然后保留所有内容 同步听起来很难。

总结:我会说这很难,但如果它是你真正需要的东西,它是可能的, 但是 Django Admin 在设计时并未考虑到这种用例。

【讨论】:

  • 感谢您澄清这一点
【解决方案2】:

Django admin 实际上是通过placing it on its own url 与主应用程序分开的。即使他们知道管理员 URL,用户也无法登录到站点的管理员,除非他们已经通过管理员分配了员工身份。您可以将管理员前缀设置为您想要的任何内容,因此,如果您想“隐藏”管理员登录页面,只需将其设置为长且随机的(也有利于安全),基本上除了您告诉的人之外没有人会知道在哪里可以找到管理站点。

【讨论】:

  • 添加自己的 url 仍然是同一个应用程序
猜你喜欢
  • 2014-03-15
  • 2011-04-21
  • 1970-01-01
  • 2014-11-17
  • 1970-01-01
  • 1970-01-01
  • 2021-08-13
  • 2017-04-07
  • 2011-01-24
相关资源
最近更新 更多