python-AttributeError:“函数”对象没有属性“ HOST”
作者:互联网
我的设置文件定义如下(config / settings.py):
HOST='localhost'
PORT='9001'
当我在视图中导入设置并按如下所示打印每个设置的值时,它可以正确打印(views / user.py):
from ..config import settings
print settings.HOST
print settings.PORT
但是,当我在def中使用或打印相同的值时,会出现错误(views / user.py):
from ..config import settings
print settings.HOST
print settings.PORT
@handle_error
def usersettings():
print settings.HOST
print settings.PORT
在上述文件中调用函数def时,出现以下错误:
ERROR:root:'function' object has no attribute 'HOST'
Traceback (most recent call last):
File "/home/rahul/mywebapp/webapp/views/utils.py", line 36, in decorated_view
return_value = func(*args, **kwargs)
File "/home/rahul/mywebapp/webapp/views/utils.py", line 27, in decorated_view
return func(*args, **kwargs)
File "/home/rahul/mywebapp/webapp/views/user.py", line 344, in usersettings
print settings.HOST
AttributeError: 'function' object has no attribute 'HOST'
utils.py has decorated view named handle_error
我的包裹结构如下:
mywebapp/
run.py
webapp/
__init__.py
views/
__init__.py
utils.py
user.py
config/
__init__.py
settings.py
仅供参考:这种用法一直工作到昨晚,突然间,由于上述错误而变得怪异.我在这里做什么错了?
编辑:
我的init.py如下:
from .utils import *
from .user import *
解决方法:
在import语句之后,可能有一个名为settings的函数已声明,或在usersettings之前导入. Python现在将名称设置识别为该功能,而不是您导入的模块.
为确保不会发生这种情况,可以在导入后直接放置所需的零件:
from ..config import settings
HOST = settings.HOST
PORT = settings.PORT
...
您以后可以在需要时访问它:
def usersettings():
print HOST, PORT
希望这可以帮助!
标签:flask,runtime-error,python 来源: https://codeday.me/bug/20191122/2060379.html