未知

dingo的Python项目详细描述


dingo是一个Django应用程序,它扩展了Django Admin 允许为模型类和 实例。Dingo还允许您自定义第三方的管理员 参与方应用程序,无需子类化或修改原始应用程序 源代码树。

功能

  • 在模型或 对象级别。
  • 将自定义项注入第三个 不修改原始代码基的参与方应用程序。

用法

要使用dingo,请确保它位于python路径上,并将其添加到 INSTALLED_APPSsettings.py中设置。注意野狗必须django.contrib.admin之前安装,因为它替换了 默认的AdminSite,其中一个将插入 ModelAdmin类已注册。

野狗需要django 1.2或更高版本。

模型与对象

dingo可用于注册模型或对象的视图。意见 注册的模型并不特定于模型的任何实例; 可以认为它们类似于django管理操作 [可能]空查询集。实例视图在单个模型上操作 实例;您可以认为它们类似于 对单个对象而不是queryset进行操作。

野狗的观点与admin actions有几个微妙的不同之处。 最重要的区别是它们可能被注入 不需要对应用程序进行子分类或修改的参与方应用程序 代码。默认情况下,dingo视图也有不同的用户界面。 Dingo包含替换管理模板,该模板将Dingo视图显示为 更改列表右上角的按钮和更改 形成视图。

添加视图

如果要使用dingo将模型或对象视图添加到模型的 管理员,您可以将它们定义为 模型管理员。

例如,要将视图定义为函数:

import dingo
import dingo_test.models

@dingo.object_view(dingo_test.models.RstDocument)
@dingo.short_description("Render")
def render(model_admin, request, object_id):

    from django.shortcuts import redirect
    document = dingo_test.mdoels.RstDocument.objects.get(id=object_id)

    return Response()

同样的视图也可以是modeladmin上的一个方法:

class RstDocumentAdmin(ModelAdmin):

    @dingo.object_view(dingo_test.models.RstDocument)
    @dingo.short_description("Render")
    def render(self, request, object_id):
        pass

注意,short_descriptiondecorator的使用定义了 在管理用户界面中使用的标签,在本例中是可选的。 如果没有提供描述,dingo将格式化函数或 方法名,类似于django为 模型。

向第三方应用程序添加视图

只要野狗在INSTALLED_APPS之前 django.contrib.admin,上面的基于函数的示例将起作用 如所愿。请注意,需要导入代码以确保 正确注册。

缺少功能/错误

  • 模型视图的开发程度明显低于实例视图。
  • 不同管理站点中的模型的不同操作不是 当前支持。为了适应这种情况,一个站点本地操作 需要使用注册表。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Cassandra复制因子大于节点数   java J2EE JTA事务回滚不适用于OSE Glassfish 4.0(Build 89)   java spring安全预认证用户登录   org的java类文件。反应流。从RxJava编译示例时未找到Publisher?   java在使用dataFormat作为POJO通过Camel调用Web服务时无法设置SOAP标头   Javafx类的java静态实例   java如何防止一个部件在关闭时覆盖另一个部件的位置   sql server无法从我的java代码连接到数据库   java在JList(Swing)中显示带有的ArrayList   从Java中的CXF服务获取WSAddressing数据   使用资产文件夹进行java简单json解析(本地)   java LDAPException未绑定的无效凭据   JavaJSFspring部署到weblogic   JAVA中字符数组中的特定元素排列?   如果脚本位于不同的目录中,则ant不会使用exec标记运行Javashell脚本