应用引擎和django新手。我认为这是我的django安装的一个问题,它是1.1.1,但是我也读到我可以使用appenginesdk打包的django。在
如果您能为我在本地测试时出现此错误提供任何帮助,我们将不胜感激。在
回拨:
Variable Value
callback
<class 'ourlat.main.views.SettingsPage'>
callback_args
()
callback_kwargs
{}
e
TypeError('default __new__ takes no parameters',)
exc_info
(<type 'exceptions.TypeError'>, TypeError('default __new__ takes no parameters',), <traceback object at 0x02201B48>)
exceptions
<module 'django.core.exceptions' from 'C:\Documents and Settings\Jeremy Gordon\eclipse-workspace\ourlat\django\core\exceptions.pyc'>
middleware_method
<bound method CommonMiddleware.process_request of <django.middleware.common.CommonMiddleware object at 0x021F5170>>
receivers
[(<function _rollback_on_exception at 0x02063730>, None)]
request
<WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'APPLICATION_ID': 'ourlat', 'AUTH_DOMAIN': 'gmail.com', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'CURRENT_VERSION_ID': '1.1', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_HOST': 'localhost:8080', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/533.1 (KHTML, like Gecko) Chrome/5.0.335.1 Safari/533.1', 'PATH_INFO': u'/', 'PATH_TRANSLATED': 'C:\\Documents and Settings\\Jeremy Gordon\\eclipse-workspace\\ourlat\\main.py', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'localhost', 'SERVER_PORT': '8080', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'Development/1.0', 'TZ': 'UTC', 'USER_EMAIL': '', 'USER_ID': '', 'USER_ORGANIZATION': '', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x00B1F0B0>, 'wsgi.input': <cStringIO.StringI object at 0x022A0260>, 'wsgi.multiprocess': False, 'wsgi.multithread': False, 'wsgi.run_once': True, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>
resolver
<RegexURLResolver urls (None:None) ^/>
response
None
self
<django.core.handlers.wsgi.WSGIHandler object at 0x021F5790>
settings
<django.conf.LazySettings object at 0x01E997B0>
urlconf
'urls'
urlresolvers
<module 'django.core.urlresolvers' from 'C:\Documents and Settings\Jeremy Gordon\eclipse-workspace\ourlat\django\core\urlresolvers.pyc'>
错误:
^{pr2}$设置页面源
class SettingsPage(webapp.RequestHandler):
def get(self):
if users.get_current_user():
url = users.create_logout_url(self.request.uri)
url_linktext = 'Logout'
account_query = OLAccount.all().filter('owner =',users.get_current_user())
if account_query.count() < 1:
thisuser = OLAccount(owner = users.get_current_user())
thisuser.put()
else:
thisuser = account_query.fetch(1)[0]
tracks = [db.get(key) for key in thisuser.track_keys]
template_values = {
'url': url,
'url_linktext': url_linktext,
'thisuser': thisuser,
'tracks': tracks
}
path = os.path.join(os.path.dirname(__file__), 'html/settings.html')
self.response.out.write(template.render(path, template_values))
else:
self.redirect(users.create_login_url(self.request.uri))
您似乎已经用一个带有非标准签名的
__init__
(但不是__new__
)对Django的视图类进行了子类化(至少一次)。如果您单击此消息开头的三角形(当然,在您自己的环境中,在SO中单击不起作用;-)您应该看到局部变量,包括您尝试调用的视图callback
(来自URL解析器,请参阅第68行的the source),此信息将帮助进一步调试。在编辑:问题似乎是您将Django的urlresolver(它期望Django id可调用的,以请求作为参数)与Google的
webapp.RequestHandler
(它不接受__init__
中的参数)的子类进行混合和匹配:不要这样做。使用app.yaml
选择.py
脚本处理对应用程序中每个路径组的请求,并且在每个.py
脚本中只使用Django或只使用webapp no mixing。在顺便说一句,app engine SDK附带的Django是0.96,就像google服务器上的默认版本一样;但是在google的服务器上,您可以使用use_library轻松切换到更现代的Django版本,而在SDK上,你不能这样做,也就是说,没有在本地安装自己的Django&c。请参阅我刚才指给您的页面和其中的链接。在
相关问题 更多 >
编程相关推荐