这可能不是一个基本问题,但是和我一样好奇,我自己也问了很长时间。
Django代码的一部分是函数,与Django模型没有直接关系。 我们以此为例:
def make_random_raw_password(length=8):
# Do some stuff and return a 8 char randomised string
从技术上讲,此功能与User类无关,但在功能上,它是!
你会在哪里写这个功能? 从我的初学者的角度来看,我至少可以看到两个选项:
我创建了一个包含所有这些函数的myutils.py
文件,然后在myutils.py
/ models.py
等文件中导入view.py
以使用这些函数。< / p>
我在UserProxy类中将此函数作为类方法移动(因为我不能直接修改Django中的User类方法),这给了我一些接近的东西:
-
class UserProxy(User):
class Meta(object):
proxy = True
@classmethod
def make_random_raw_password(cls, length=8):
# Do some stuff...
你会使用哪一个?你能解释一下原因吗?提前谢谢。