跳转到主要内容

在管理中公开Django管理命令

项目描述

pypi

django-managerie

:lightbulb: 在管理中将Django管理命令作为表单公开

需求

  • Django 3.2+ (该项目跟踪Django的生命周期策略)
  • Python 3.7+

安装

像安装任何Python包一样安装该包,然后将 django_managerie 添加到您的 INSTALLED_APPS 中。

自动修补

这是启动的最简单方法。您可以要求Managerie修补管理站点仪表板视图,包括具有“命令”名称的伪模型,这些模型在所有提供管理命令的应用程序中可用,同时它还会包含它自己的URL。

将Managerie连接到您的管理站点(例如,在 urls.py 中,您有 admin.autodiscover()),如下所示

from django.contrib import admin
from django_managerie import Managerie
# ...
managerie = Managerie(admin_site=admin.site)
managerie.patch()

不修补

这可能是更安全的(在存在稍微不太宽容的第三方应用程序(例如,篡改管理)的情况下),但您无法享受管理仪表板中命令按钮的便利。

from django.contrib import admin
from django.conf.urls import include, url
from django_managerie import Managerie
# ...
managerie = Managerie(admin_site=admin.site)
# ...
urlpatterns = [
    # ...
    # ... url(r'^admin/', include(admin.site.urls)), ...
    url(r'^admin/', include(managerie.urls)),  # Add this!
]

用法

如果您允许Managerie修补您的管理,则超级用户现在可以在管理仪表板中看到“命令”对象。如果您没有修补管理,您可以通过 /admin/managerie/(或您的管理位置)访问所有命令的列表。

如果您点击到命令,您将看到命令的参数以表单的形式展开。填写表单,然后点击“执行命令”,您就完成了!:sparkles

从managerie'd命令访问Django请求

Managerie将 _managerie_request 设置在命令实例上为当前Django请求。您可以使用它来访问请求,例如,获取当前用户。

TODO

  • 更多 argparse 操作支持
  • 多参数支持(nargs

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

django_managerie-0.5.1.tar.gz (7.3 kB 查看哈希值)

上传时间 源代码

构建分发

django_managerie-0.5.1-py3-none-any.whl (10.3 kB 查看哈希值)

上传时间 Python 3

由以下提供支持