0

我正在尝试为我的 User 类定义一个 generate_username 。(django 的用户)

库代码将使用它..

def generate_username(self, user_class):
    """ Generate a new username for a user
    """
    m = getattr(user_class, 'generate_username', None)
    if m:
        return m()

如何定义函数并将其添加generate_username到 User 类?
我应该添加一个类方法对吗?

4

1 回答 1

0

您添加一个类方法的方式与猴子修补实例方法的方式相同,但您必须对其应用classmethod装饰器。

class Test(object):
    pass

@classmethod
def classfunc(cls, attr):
    print(cls, attr)

Test.cf = classfunc

用法:

>>> Test.cf(33)
<class '__main__.Test'> 33
于 2013-08-22T11:09:52.770 回答