django管理视图是添加自定义管理视图并将url指向django管理的简单方法
django-admin-views的Python项目详细描述
概述
虽然“管理员不是你的应用”,但是能够轻松地添加 为内部人员或其他内部用户向管理员提供一些功能 他们有足够的技术知识来使用管理员。
有几个第三方项目,如 AdminPlus,但是他们需要 用于重新定义admin.site对象的用户。对于那些 设置django项目,但对于正在编写 供其他开发人员在项目中使用的第三方工具。
django管理视图试图通过简单地重写管理来解决这个问题。 提供两个功能的模板:
- 轻松定义自定义管理视图并将其链接到管理页
- 轻松添加外部URL链接
安装步骤
- pip install django-admin-views
- 将admin_views添加到管理站点之前的settings.py中的INSTALLED_APPS,即django.contrib.admin
如果您使用的是自定义管理站点,则需要配置ADMIN_VIEWS_SITE设置以指向您的管理站点实例:
ADMIN_VIEWS_SITE = 'myproject.admin.admin_site'
用法
所有这些魔术都发生在模型的管理定义中。你只是把你的 管理来自AdminViews,而不是标准的admin.ModelAdmin。 在这个例子中,我们有一个自定义视图,它只将用户重定向到cnn 以及直接链接到我公司主页的URL:
from django.contrib import admin from django.shortcuts import redirect from admin_views.admin import AdminViews from example_app.models import TestModel class TestAdmin(AdminViews): admin_views = ( ('Redirect to CNN', 'redirect_to_cnn'), ('Go to revsys.com', 'http://www.revsys.com'), ) def redirect_to_cnn(self, *args, **kwargs): return redirect('http://www.cnn.com') admin.site.register(TestModel, TestAdmin)
这些现在将显示在通常的django管理模型crud接口下面的管理中。 对于带有两个不同图标的示例应用程序 视图和直接url链接。
有了这个第三方开发者只需要指导他们的用户安装他们的应用程序 和django-admin-views。
希望你觉得它有用,一如既往的反馈当然是受欢迎的。