我正在使用fastcgi在Dreamhost上运行django,我的行为非常奇怪。首先,服务器运行Python 2.3。在我的计算机上,我运行2.6并且我的所有源代码都可以运行。当我把它放在我的主机上时,没有任何作用。现在,当我pkill python然后加载一个页面时,第一个错误抱怨'class Item_list()'行语法错误:
from dtms.models import *
class Item_list():
def __init__(self, list = None, house_id = None):
self.list = list
self.house_id = house_id
def ret_list(self):
return self.list
然后,如果我重新加载它而不改变任何东西,我会收到这个错误:
Django Version: 1.1 alpha 1 SVN-10114 Python Version: 2.3.5 Installed Applications: ['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin', 'mysite.dtms'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware')Traceback: File "/home/victor/django/django_src/django/core/handlers/base.py" in get_response 82. callback, callback_args, callback_kwargs = resolver.resolve( File "/home/victor/django/django_src/django/core/urlresolvers.py" in resolve 184. for pattern in self.url_patterns: File "/home/victor/django/django_src/django/core/urlresolvers.py" in _get_url_patterns 212. raise ImproperlyConfigured("The included urlconf %s doesn't have any" Exception Type: ImproperlyConfigured at /dtms/login/ Exception Value: The included urlconf mysite.urls doesn't have anypatterns in it
有什么想法吗?
答案 0 :(得分:3)
class Item_list():
您不能在Python 2.3中包含空的继承列表。似乎语法中的变化允许now而不是then。
通常会写:
class Item_list:
如果您不想要任何基类。但通常这些天你都想从对象派生出来获得新式的类。
我对您的部署环境了解不多,但一般情况下,当您尝试导入某些内容并获得异常时,它可能会在sys.modules中留下部分初始化的模块,这将阻碍将来尝试导入它们,导致模块的属性和操作不在预期的位置,否则会产生莫名其妙的错误。
一般情况下,一旦导入失败,您应该考虑环境丢失并重新开始,但我不知道您的Django部署如何应对此类错误和流程重启问题。也许原始错误让解释器在没有将预期的东西写入url_patterns或其他东西的情况下运行。