Django Mixin的参数说__init__的值太多了

时间:2015-02-25 01:06:12

标签: django python-2.7

我有一个类似的Mixin:

class MixinWithArgs(object):
  def __init__(self, arg1, arg2):
    self.thing1 = arg1
    self.thing2 = arg2

以及我尝试过的模板视图:

class ArgView(MixinWithArgs('one', 'two'), TemplateView):
  template_name = 'template.html'

并在页面上呈现我得到的初始值为3,其中4为'

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

您正在混合中返回一个对象。当该对象使用视图基类进行实例化时,它必须允许其超类 init args,kwargs通过你的init,而你已经定义了你的args。记住子类的排序很重要,离左边最远的类获得优先权。

TypeError:调用元类库时出错

这告诉您无法从子类中实例化视图对象。