I think this is a useful suggestion. If the developer sets DEBUG=False then there should be no variable trace. DEBUG=False should be the default. If the developer sets DEBUG=True and forgets that in the production version, well, caveat emptor.
On Sep 13, 2:21 pm, mdipierro <[email protected]> wrote: > I understand. from a technical point of view this would be easy to add > but there are two problems: > 1) some variables may be very large and this would make tickets very > big. How does Django handle it? Does it ignore large variables? > 2) some of he variables may contain user information that > administrator should not get access to (for example > request.vars.password). There may be privacy issues in logging vars > into tickets. If this were the default it would make web2py non- > complaint with privacy standard whatever your application does. > > Any idea? > > Massimo > > On Sep 13, 1:11 pm, Thadeus Burgess <[email protected]> wrote: > > > When django runs into an error, it gives you the values of all variables > > during the stack track, when you have debug = True. > > > Example: (You get code snippet, and all local variables at that snippet.) > > Traceback Switch to copy-and-paste > > view<http://aichronicles.com/projects/tag/#> > > > - > > > > /home/thadeusb/.myroot/usr/lib/python2.5/site-packages/django/core/handlers/base.pyin > > get_response > > 1. > > 2. # Complain if the view returned None (a common error). > > 3. if response is None: > > 4. try: > > 5. view_name = callback.func_name # If it's a function > > 6. except AttributeError: > > 7. view_name = callback.__class__.__name__ + '.__call__' # If it's a > > class > > 1. raise ValueError, "The view %s.%s didn't return an HttpResponse > > object." % (callback.__module__, view_name) ... > > 1. > > 2. return response > > 3. except http.Http404, e: > > 4. if settings.DEBUG: > > 5. from django.views import debug > > 6. return debug.technical_404_response(request, e) > > ▼ Local vars <http://aichronicles.com/projects/tag/#> > > Variable Value callback <function tag at 0xb4f8fb1c> > > callback_args () > > callback_kwargs {'url': u''} > > exc_info (<type 'exceptions.ValueError'>, ValueError("The view > > thadeusb.project.views.tag didn't return an HttpResponse object.",), > > <traceback object at 0xb4f3a784>) > > exceptions <module 'django.core.exceptions' from > > > > '/home/thadeusb/.myroot/usr/lib/python2.5/site-packages/django/core/exceptions.pyc'> > > middleware_method <bound method AuthenticationMiddleware.process_request > > of <django.contrib.auth.middleware.AuthenticationMiddleware object at > > 0xb524c1cc>> > > receivers [(<function _rollback_on_exception at 0xb5168b54>, None)] > > request <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {}>, > > COOKIES:{'sessionid': '00d386b0d7c15244e89f9d38ffcb588f'}, > > META:{'DH_USER': > > 'thadeusb', 'DOCUMENT_ROOT': '/home/thadeusb/sites/aichronicles.com', > > 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': > > 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', > > 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', > > 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': > > 'en-us,en;q=0.5', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': > > 'sessionid=00d386b0d7c15244e89f9d38ffcb588f', 'HTTP_HOST': ' > > aichronicles.com', 'HTTP_KEEP_ALIVE': '300', 'HTTP_REFERER': ' > > http://aichronicles.com/projects/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; > > U; Linux i686; en-US; rv:1.9.1.2) Gecko/20090804 Firefox/3.5.2', 'PATH': > > '/bin:/usr/bin:/sbin:/usr/sbin', 'PATH_INFO': u'/projects/tag/', > > 'PATH_TRANSLATED': '/home/thadeusb/sites/aichronicles.com/projects/tag/', > > 'QUERY_STRING': '', 'REDIRECT_DH_USER': 'thadeusb', > > 'REDIRECT_SCRIPT_URI': ' > > http://aichronicles.com/projects/tag/', 'REDIRECT_SCRIPT_URL': > > '/projects/tag/', 'REDIRECT_STATUS': '200', 'REDIRECT_UNIQUE_ID': > > 'a6gLAtBxlNEAAEvNPEQAAAAD', 'REDIRECT_URL': '/projects/tag/', > > 'REDIRECT_ds_id_9498040': '', 'REDIRECT_dsid': '9498040', 'REMOTE_ADDR': > > '75.27.133.239', 'REMOTE_PORT': '49955', 'REQUEST_METHOD': 'GET', > > 'REQUEST_URI': '/projects/tag/', 'SCRIPT_FILENAME': > > '/home/thadeusb/sites/ > > aichronicles.com/dispatch.fcgi', 'SCRIPT_NAME': u'', 'SCRIPT_URI': ' > > http://aichronicles.com/projects/tag/', 'SCRIPT_URL': '/projects/tag/', > > 'SERVER_ADDR': '208.113.148.201', 'SERVER_ADMIN': ' > > [email protected]', 'SERVER_NAME': 'aichronicles.com', > > 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SIGNATURE': > > '', > > 'SERVER_SOFTWARE': 'Apache', 'UNIQUE_ID': 'a6gLAtBxlNEAAEvNPEQAAAAD', > > 'ds_id_9498040': '', 'dsid': '9498040', 'wsgi.errors': > > <flup.server.fcgi_base.OutputStream object at 0xb4f386ec>, 'wsgi.input': > > <flup.server.fcgi_base.InputStream object at 0xb4f3856c>, > > 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': > > False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}> > > resolver <RegexURLResolver thadeusb.urls ^/> > > response None > > self <django.core.handlers.wsgi.WSGIHandler object at 0xb7c0ac0c> > > settings <django.conf.LazySettings object at 0xb7b5eb2c> > > urlconf 'thadeusb.urls' > > urlresolvers <module 'django.core.urlresolvers' from > > > > '/home/thadeusb/.myroot/usr/lib/python2.5/site-packages/django/core/urlresolvers.pyc'> > > view_name 'tag' > > > Environment: Request Method: GET Request > > URL:http://aichronicles.com/projects/tag/DjangoVersion: 1.0.2 final Python > > Version: 2.5.2 Installed Applications: ['django.contrib.auth', > > 'django.contrib.contenttypes', 'django.contrib.sessions', > > 'django.contrib.sites', 'django.contrib.admin', 'django.contrib.comments', > > 'thadeusb.common', 'thadeusb.pages', 'thadeusb.blog', 'thadeusb.search', > > 'thadeusb.project'] Installed Middleware: > > ('django.middleware.common.CommonMiddleware', > > 'django.contrib.sessions.middleware.SessionMiddleware', > > 'django.contrib.auth.middleware.AuthenticationMiddleware', > > 'thadeusb.pages.middleware.FlatpageFallbackMiddleware') Traceback: File > > "/home/thadeusb/.myroot/usr/lib/python2.5/site-packages/django/core/handlers/base.py" > > in get_response 103. raise ValueError, "The view %s.%s didn't return an > > HttpResponse object." % (callback.__module__, view_name) Exception Type: > > ValueError at /projects/tag/ Exception Value: The view > > thadeusb.project.views.tag didn't return an HttpResponse object. > > > Request information GET > > > No GET data > > POST > > > No POST data > > COOKIES Variable Value sessionid '00d386b0d7c15244e89f9d38ffcb588f' > > META Variable Value DH_USER > > DOCUMENT_ROOT > > GATEWAY_INTERFACE 'CGI/1.1' > > HTTP_ACCEPT > > 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' > > HTTP_ACCEPT_CHARSET 'ISO-8859-1,utf-8;q=0.7,*;q=0.7' > > HTTP_ACCEPT_ENCODING 'gzip,deflate' > > HTTP_ACCEPT_LANGUAGE 'en-us,en;q=0.5' > > HTTP_CONNECTION 'keep-alive' > > HTTP_COOKIE 'sessionid=00d386b0d7c15244e89f9d38ffcb588f' > > HTTP_HOST > > HTTP_KEEP_ALIVE > > HTTP_REFERER > > HTTP_USER_AGENT 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.2) > > Gecko/20090804 Firefox/3.5.2' > > PATH > > PATH_INFO > > PATH_TRANSLATED > > QUERY_STRING > > REDIRECT_DH_USER > > REDIRECT_SCRIPT_URI > > REDIRECT_SCRIPT_URL '/projects/tag/' > > REDIRECT_STATUS '200' > > REDIRECT_UNIQUE_ID > > REDIRECT_URL '/projects/tag/' > > REDIRECT_ds_id_9498040 '' > > REDIRECT_dsid > > REMOTE_ADDR > > REMOTE_PORT > > REQUEST_METHOD 'GET' > > REQUEST_URI '/projects/tag/' > > SCRIPT_FILENAME > > SCRIPT_NAME > > SCRIPT_URI > > SCRIPT_URL '/projects/tag/' > > SERVER_ADDR > > SERVER_ADMIN > > SERVER_NAME > > SERVER_PORT > > SERVER_PROTOCOL > > SERVER_SIGNATURE > > SERVER_SOFTWARE > > UNIQUE_ID > > ds_id_9498040 > > dsid > > wsgi.errors > > wsgi.input > > wsgi.multiprocess > > wsgi.multithread > > wsgi.run_once > > wsgi.url_scheme > > wsgi.version > > > On Sun, Sep 13, 2009 at 10:04 AM, mdipierro <[email protected]> wrote: > > > re I understand. Did you look into the python trac --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---

