| AttributeError | Python 2.4.4: /usr/bin/python2.4 Sun Sep 5 20:43:25 2010 |
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
| /home/.kris/thatmattbone/phlombay.com/fcgi.py in run(self=<fcgi.Request object>) |
| 578 """Runs the handler, flushes the streams, and ends the request.""" |
| 579 try: |
| 580 protocolStatus, appStatus = self.server.handler(self) |
| 581 except: |
| 582 traceback.print_exc(file=self.stderr) |
| protocolStatus undefined, appStatus undefined, self = <fcgi.Request object>, self.server = <fcgi.WSGIServer object>, self.server.handler = <bound method WSGIServer.handler of <fcgi.WSGIServer object>> |
| /home/.kris/thatmattbone/phlombay.com/fcgi.py in handler(self=<fcgi.WSGIServer object>, req=<fcgi.Request object>) |
| 1264 try: |
| 1265 try: |
| 1266 result = self.application(environ, start_response) |
| 1267 try: |
| 1268 for data in result: |
| result = None, self = <fcgi.WSGIServer object>, self.application = <django.core.handlers.wsgi.WSGIHandler object>, environ = {'DH_USER': 'thatmattbone', 'DOCUMENT_ROOT': '/home/thatmattbone/phlombay.com', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,text/xml;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.7', 'HTTP_ACCEPT_ENCODING': 'gzip', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'phlombay.com', ...}, start_response = <function start_response> |
| /usr/lib/python2.4/site-packages/django/core/handlers/wsgi.py in __call__(self=<django.core.handlers.wsgi.WSGIHandler object>, environ={'DH_USER': 'thatmattbone', 'DOCUMENT_ROOT': '/home/thatmattbone/phlombay.com', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,text/xml;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.7', 'HTTP_ACCEPT_ENCODING': 'gzip', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'phlombay.com', ...}, start_response=<function start_response>) |
| 239 response = http.HttpResponseBadRequest() |
| 240 else: |
| 241 response = self.get_response(request) |
| 242 |
| 243 # Apply response middleware |
| response undefined, self = <django.core.handlers.wsgi.WSGIHandler object>, self.get_response = <bound method WSGIHandler.get_response of <django.core.handlers.wsgi.WSGIHandler object>>, request = <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDic...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}> |
| /usr/lib/python2.4/site-packages/django/core/handlers/base.py in get_response(self=<django.core.handlers.wsgi.WSGIHandler object>, request=<WSGIRequest GET:<QueryDict: {}>, POST:<QueryDic...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}>) |
| 71 # Apply request middleware |
| 72 for middleware_method in self._request_middleware: |
| 73 response = middleware_method(request) |
| 74 if response: |
| 75 return response |
| response undefined, middleware_method = <bound method CommonMiddleware.process_request o...jango.middleware.common.CommonMiddleware object>>, request = <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDic...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}> |
| /usr/lib/python2.4/site-packages/django/middleware/common.py in process_request(self=<django.middleware.common.CommonMiddleware object>, request=<WSGIRequest GET:<QueryDict: {}>, POST:<QueryDic...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}>) |
| 54 # trailing slash and there is no pattern for the current path |
| 55 if settings.APPEND_SLASH and (not old_url[1].endswith('/')): |
| 56 if (not _is_valid_path(request.path_info) and |
| 57 _is_valid_path("%s/" % request.path_info)): |
| 58 new_url[1] = new_url[1] + '/' |
| global _is_valid_path = <function _is_valid_path>, request = <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDic...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}>, request.path_info = u'/robots.txt' |
| /usr/lib/python2.4/site-packages/django/middleware/common.py in _is_valid_path(path=u'/robots.txt') |
| 140 """ |
| 141 try: |
| 142 urlresolvers.resolve(path) |
| 143 return True |
| 144 except urlresolvers.Resolver404: |
| global urlresolvers = <module 'django.core.urlresolvers' from '/usr/li...n2.4/site-packages/django/core/urlresolvers.pyc'>, urlresolvers.resolve = <function resolve>, path = u'/robots.txt' |
| /usr/lib/python2.4/site-packages/django/core/urlresolvers.py in resolve(path=u'/robots.txt', urlconf=None) |
| 301 |
| 302 def resolve(path, urlconf=None): |
| 303 return get_resolver(urlconf).resolve(path) |
| 304 |
| 305 def reverse(viewname, urlconf=None, args=None, kwargs=None, prefix=None, current_app=None): |
| global get_resolver = <function get_resolver>, urlconf = None, ).resolve undefined, path = u'/robots.txt' |
| /usr/lib/python2.4/site-packages/django/core/urlresolvers.py in resolve(self=<RegexURLResolver phlombay_site.urls (None:None) ^/>, path=u'/robots.txt') |
| 214 if match: |
| 215 new_path = path[match.end():] |
| 216 for pattern in self.url_patterns: |
| 217 try: |
| 218 sub_match = pattern.resolve(new_path) |
| pattern undefined, self = <RegexURLResolver phlombay_site.urls (None:None) ^/>, self.url_patterns undefined |
| /usr/lib/python2.4/site-packages/django/core/urlresolvers.py in _get_url_patterns(self=<RegexURLResolver phlombay_site.urls (None:None) ^/>) |
| 243 |
| 244 def _get_url_patterns(self): |
| 245 patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) |
| 246 try: |
| 247 iter(patterns) |
| patterns undefined, builtin getattr = <built-in function getattr>, self = <RegexURLResolver phlombay_site.urls (None:None) ^/>, self.urlconf_module undefined |
| /usr/lib/python2.4/site-packages/django/core/urlresolvers.py in _get_urlconf_module(self=<RegexURLResolver phlombay_site.urls (None:None) ^/>) |
| 238 return self._urlconf_module |
| 239 except AttributeError: |
| 240 self._urlconf_module = import_module(self.urlconf_name) |
| 241 return self._urlconf_module |
| 242 urlconf_module = property(_get_urlconf_module) |
| self = <RegexURLResolver phlombay_site.urls (None:None) ^/>, self._urlconf_module undefined, global import_module = <function import_module>, self.urlconf_name = 'phlombay_site.urls' |
| /usr/lib/python2.4/site-packages/django/utils/importlib.py in import_module(name='phlombay_site.urls', package=None) |
| 32 break |
| 33 level += 1 |
| 34 name = _resolve_name(name[level:], package, level) |
| 35 __import__(name) |
| 36 return sys.modules[name] |
| builtin __import__ = <built-in function __import__>, name = 'phlombay_site.urls' |
| /home/thatmattbone/django_projects/phlombay_site/urls.py |
| 2 import django.views.generic.list_detail |
| 3 from phlombay_site.recipes.models import Recipe |
| 4 |
| 5 urlpatterns = patterns('', |
| 6 |
| phlombay_site undefined, Recipe undefined |
| /home/thatmattbone/django_projects/phlombay_site/recipes/models.py |
| 18 pass |
| 19 |
| 20 class Ingredient(models.Model): |
| 21 '''Class that represents an ingredient. At the moment this |
| 22 has a free-form quantity and free-form name field. |
| Ingredient undefined, models = None, models.Model undefined |
| /home/thatmattbone/django_projects/phlombay_site/recipes/models.py in Ingredient() |
| 22 has a free-form quantity and free-form name field. |
| 23 ''' |
| 24 recipe = models.ForeignKey(Recipe, edit_inline=models.TABULAR) |
| 25 quantity = models.CharField(max_length=100, core=True) |
| 26 name = models.CharField(max_length=200, core=True) |
| recipe undefined, global models = None, models.ForeignKey undefined, global Recipe = None, edit_inline undefined, models.TABULAR undefined |
AttributeError: 'module' object has no attribute 'TABULAR'
args =
("'module' object has no attribute 'TABULAR'",)