最佳实践:我应该在Django中编写函数(而不是方法)?

时间:2014-04-01 10:33:04

标签: django django-models

这可能不是一个基本问题,但是和我一样好奇,我自己也问了很长时间。

Django代码的一部分是函数,与Django模型没有直接关系。 我们以此为例:

def make_random_raw_password(length=8):
    # Do some stuff and return a 8 char randomised string

从技术上讲,此功能与User类无关,但在功能上,它是!

你会在哪里写这个功能? 从我的初学者的角度来看,我至少可以看到两个选项:

  1. 我创建了一个包含所有这些函数的myutils.py文件,然后在myutils.py / models.py等文件中导入view.py以使用这些函数。< / p>

  2. 我在UserProxy类中将此函数作为类方法移动(因为我不能直接修改Django中的User类方法),这给了我一些接近的东西:

  3. -

    class UserProxy(User):
        class Meta(object):
            proxy = True
    
        @classmethod
        def make_random_raw_password(cls, length=8):
            # Do some stuff...
    

    你会使用哪一个?你能解释一下原因吗?提前谢谢。

0 个答案:

没有答案