Python Devstack:TypeError:\uuuu init\uuuu()正好接受2个参数(给定1个)
我在eclipse的devstack中运行horizon时遇到了这个错误。可能是配置错误,但我无法解决。请帮忙Python Devstack:TypeError:\uuuu init\uuuu()正好接受2个参数(给定1个),python,django,devstack,Python,Django,Devstack,我在eclipse的devstack中运行horizon时遇到了这个错误。可能是配置错误,但我无法解决。请帮忙 WARNING:root:No local_settings file found. Traceback (most recent call last): File "/home/stack/git/horizon/manage.py", line 23, in <module> execute_from_command_line(sy
WARNING:root:No local_settings file found.
Traceback (most recent call last):
File "/home/stack/git/horizon/manage.py", line 23, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.7/dist-packages/Django-1.8-py2.7.egg/django/core/management/__init__.py", line 338, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/Django-1.8-py2.7.egg/django/core/management/__init__.py", line 303, in execute
settings.INSTALLED_APPS
File "/usr/local/lib/python2.7/dist-packages/Django-1.8-py2.7.egg/django/conf/__init__.py", line 48, in __getattr__
self._setup(name)
File "/usr/local/lib/python2.7/dist-packages/Django-1.8-py2.7.egg/django/conf/__init__.py", line 44, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python2.7/dist-packages/Django-1.8-py2.7.egg/django/conf/__init__.py", line 92, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/stack/git/horizon/openstack_dashboard/settings.py", line 339, in <module>
from horizon.utils import secret_key
File "/home/stack/git/horizon/horizon/__init__.py", line 27, in <module>
from horizon.base import Dashboard # noqa
File "/home/stack/git/horizon/horizon/base.py", line 45, in <module>
from horizon import loaders
File "/home/stack/git/horizon/horizon/loaders.py", line 57, in <module>
_loader = TemplateLoader()
File "/usr/local/lib/python2.7/dist-packages/Django-1.8-py2.7.egg/django/template/loader.py", line 50, in __init__
super(BaseLoader, self).__init__(*args, **kwargs)
TypeError: __init__() takes exactly 2 arguments (1 given)
Horizon要求Django>=1.4.2,可能没有针对此类问题的标准, 但是在我的例子中,我没有初始化
\uuuu init\uuuu()
方法中的所有参数所以这就产生了一个问题
def\uuuu init\uuuu(self,value,*args,**kwargs):
自我价值=价值
超级(自定义有效,自我)。\uuuu初始(*args,**kwargs)
..
..
运行
test\u c=自定义有效获取错误(89)
或
test\u c=Custom\u Vali.get\u error(value=89)
O/p:
TypeError:\uuuuu init\uuuuu()至少接受2个参数(给定1个)
解决方案:只需在
\uuuu init\uuuu
def\uuuu init\uuuuuu(self,value=0,*args,**kwargs):
自我价值=价值
super(Custom_Vali,self)。\uu初始化(args,**kwargs)
我只想在eclipse中运行horizon。在首选项中设置另一个项目,如cinder、nova等
import warnings
from django.utils.deprecation import RemovedInDjango20Warning
from .base import Origin
from .engine import Engine
class LoaderOrigin(Origin):
def __init__(self, display_name, loader, name, dirs):
super(LoaderOrigin, self).__init__(display_name)
self.loader, self.loadname, self.dirs = loader, name, dirs
def reload(self):
return self.loader(self.loadname, self.dirs)[0]
def find_template(*args, **kwargs):
return Engine.get_default().find_template(*args, **kwargs)
def get_template(*args, **kwargs):
return Engine.get_default().get_template(*args, **kwargs)
def get_template_from_string(*args, **kwargs):
return Engine.get_default().get_template_from_string(*args, **kwargs)
def render_to_string(*args, **kwargs):
return Engine.get_default().render_to_string(*args, **kwargs)
def select_template(*args, **kwargs):
return Engine.get_default().select_template(*args, **kwargs)
# This line must remain at the bottom to avoid import loops.
from .loaders import base
class BaseLoader(base.Loader):
_accepts_engine_in_init = False
def __init__(self, *args, **kwargs):
warnings.warn(
"django.template.loader.BaseLoader was superseded by "
"django.template.loaders.base.Loader.",
RemovedInDjango20Warning, stacklevel=2)
super(BaseLoader, self).__init__(*args, **kwargs)