621: TypeError at dashboard/ -- 'NoneType' object is not iterable
- UserError
- Review Board
sam****@gmai***** (Google Code) (Is this you? Claim this profile.) | |
Aug. 28, 2008 |
What's the URL of the page containing the problem? Not a public server, behind firewall What steps will reproduce the problem? 1. Install on Ubuntu 8.04 according to install page 2. check out latest SVN (rev 1466) 3. configure apache as below 4. browse to URL What is the expected output? What do you see instead? Expected to see reviewboard running. See the error instead. What operating system are you using? What browser? Ubuntu 8.04, firefox 3 Please provide any additional information below. Error output TypeError at dashboard/ 'NoneType' object is not iterable Request Method: GET Request URL: http://myserverdashboard/ Exception Type: TypeError Exception Value: 'NoneType' object is not iterable Exception Location: /usr/lib/python2.5/site-packages/django/core/handlers/base.py in get_response, line 77 Python Executable: /usr/bin/python Python Version: 2.5.1 Python Path: ['@djangodir@', '/home/review', '/home/review/reviewboard', '@pythondir@/djblets', '/home/review', '/usr/lib/python25.zip', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/Numeric', '/usr/lib/python2.5/site-packages/PIL', '/usr/lib/python2.5/site-packages/gst-0.10', '/var/lib/python-support/python2.5', '/usr/lib/python2.5/site-packages/gtk-2.0', '/var/lib/python-support/python2.5/gtk-2.0'] Server time: Thu, 28 Aug 2008 14:05:11 -0700 Traceback Switch to copy-and-paste view * /usr/lib/python2.5/site-packages/django/core/handlers/base.py in get_response 70. 71. # Get urlconf from request object, if available. Otherwise use default. 72. urlconf = getattr(request, "urlconf", settings.ROOT_URLCONF) 73. 74. resolver = urlresolvers.RegexURLResolver(r'^/', urlconf) 75. try: 76. callback, callback_args, callback_kwargs = resolver.resolve( 77. request.path_info) ... 78. 79. # Apply view middleware 80. for middleware_method in self._view_middleware: 81. response = middleware_method(request, callback, callback_args, callback_kwargs) 82. if response: 83. return response ▶ Local vars
Oops, forgot to post my apache config <VirtualHost *> ServerAdmin webmaster@localhost DocumentRoot /var/www/reviews/htdocs <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all # This directive allows us to have apache2's default start page # in /apache2-default/, but still have / go to the right place #RedirectMatch ^/$ /apache2-default/ </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> <Location "/"> PythonPath "['@djangodir@'] + ['/home/review'] + ['/home/review/reviewboard'] + ['@pythondir@/djblets'] + sys.path" SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE reviewboard.settings PythonOption django.root / PythonDebug On PythonAutoReload Off </Location> # Serve static media without running it through mod_python # (overrides the above) <Location "/media"> SetHandler None </Location> <Location "/errordocs"> SetHandler None </Location> Alias /media /home/review/reviewboard/htdocs/media Alias /errordocs /home/review/reviewboard/htdocs/errordocs </VirtualHost>
Solved the issue... if you are posting your reviews at WWWROOT (not a subdir), you should not set a django.root to /. Apache config should look like <Location "/"> PythonPath "['@djangodir@'] + ['/home/review'] + ['/home/review/reviewboard'] + ['@pythondir@/djblets'] + sys.path" SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE reviewboard.settings PythonDebug On PythonAutoReload Off </Location>