无法在django/python中导入函数
我正在编写一个django项目,其中包含以下文件:无法在django/python中导入函数,python,django,Python,Django,我正在编写一个django项目,其中包含以下文件: ttam_container -utils.py -ttam -views.py utils.py模块中的代码: def random_string(): ... def remove_blanks(): ... ...other functions... views.py中的代码: from utils import * def get_sequences(request):
ttam_container
-utils.py
-ttam
-views.py
utils.py
模块中的代码:
def random_string():
...
def remove_blanks():
...
...other functions...
views.py中的代码
:
from utils import *
def get_sequences(request):
...
string = random_string()
...
sequences = remove_blanks(sequences_with_blanks)
...
然后报告未定义的错误全局名称删除\u blanks
。我原以为我没有首先导入utils.py
correcty,但是random\u字符串
起作用了
知道发生了什么吗?导入应该是:
from utils import remove_blanks
如果没有.py,正确的导入将是:
import sys
sys.path.append("..")
from utils import random_string, remove_blanks
模块必须位于sys.path
中的一个目录中。这将初始化为$PYTHONPATH
的值,如果未设置$PYTHONPATH
,则初始化为一些默认值。例如:
$ python
Python 2.6.5 (r265:79063, Jun 12 2010, 17:07:01)
[GCC 4.3.4 20090804 (release) 1] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/lib/python26.zip', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-cyg
win', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/pytho
n2.6/lib-dynload', '/usr/lib/python2.6/site-packages']
因此,如果您的模块不在该路径中,则需要将正确的路径(
“…”
在本例中)附加到sys.path
,并且不带通配符。:)+1同样,当我试图从utils import remove_blanks以的形式编写它时,会报告ImportError确保每个包都有一个\uuuu init\uuuuuuuuuy.py
文件。。。这里没有显示