在Google App Engine中导入模块和模型的最佳做法是什么?

时间:2013-06-25 01:27:08

标签: google-app-engine python-2.7

我想知道在多个处理程序中导入常用模块的最佳做法是什么。

目前我有一个文件(myimports.py),其中包含我的所有导入信息,例如(此文件还包括我的模型和辅助函数)

from django.template.loaders.filesystem import Loader
from django.template.loader import render_to_string
from django.template.loader import get_template
from google.appengine.api import mail
from google.appengine.api import urlfetch
from google.appengine.api import namespace_manager
from google.appengine.api import taskqueue
from google.appengine.api import memcache
import cgi
import datetime
import django_settings
from random import choice

#commonly used functions
def myfunc(): ...

在我的处理程序文件中,例如main.py,我使用from myimports import *导入以重用常用导入。有没有更好的方法来分解导入这些模块?这对导入我可能不使用的所有模块是否会产生相当大的内存影响?

1 个答案:

答案 0 :(得分:3)

通常认为最佳做法是仅将您实际需要和使用的内容导入任何给定文件。 “共享导入”(以及一般的from ... import *)被认为不太理想,因为它隐藏了名称来自的位置,并且更难判断给定函数是否实际可用。

如果您将所需的内容直接导入到您需要的每个文件中,则(a)给定项目的来源(因为导入位于文件中)和(b)确实可用的文件更清晰在文件中(同样,因为导入也在文件中)。