我在Django中写了一些视图,它们只是python函数。我很好奇是否有更好的方式来安排我的文件。
这就是......
import a, b
def x(request): return a(request)
def y(request): return b(request)
比将它放在两个文件中效率低吗?
import a
def x(request): return a(request)
和
import b
def y(request): return b(request)
因为对于每个请求只会调用其中一个函数,所以在我看来,将另一个放在同一个文件中并导入另一个需要的模块是一个坏主意。我对吗? django无论如何只是导入了整批货物吗?
答案 0 :(得分:3)
除非你通过CGI运行Django(我真的希望你不是这样),否则导入将在第一次执行后被缓存,而这整个论点毫无意义。
答案 1 :(得分:2)
没有太大的区别,使用最可读的东西。
答案 2 :(得分:0)
您无需担心使用的文件数量;性能差异可以忽略不计。也就是说,有更有效和可读的方法来使用导入。
只导入你需要的东西;永远不要使用from x import *
,除非你真的要使用X中的所有东西。不要嵌套进口;而不是import a, b
,写:
import a
import b
至于您的具体问题,您应该有一个模块来表示典型的行动方案。如果您必须一个接一个地运行两个函数,请将它们放在同一个文件中。如果没有,请为您和与您合作的人做最有意义的事情。请记住,采用import a
形式(而不是from x import y, z
)的导入相对便宜。
答案 3 :(得分:0)
此外,而不是这样做:
def x(request): return a(request)
调用原始函数可能会更好。