google-code-export / sct-project

Automatically exported from code.google.com/p/sct-project
1 stars 1 forks source link

sphboard show_active_monitors template tag generates KeyError #216

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Create a new Django project and configure SCT per instructions at 
http://sct.sphene.net/wiki/show/Tutorial/
2. Create a forum and post in it
3. Attempt to edit user profile

What is the expected output? What do you see instead?
Expected output is the profile editor page, which does come up properly if I 
override the /templates/sphene/community/profile_edit.html template and comment 
out the show_active_monitors template tag.

What version of the product are you using? On what operating system?
Django 1.4
SCT 0.7
CentOS 6.2

Please provide any additional information below.

Redacted Tracelog:

Environment:

Request Method: GET
Request URL: http://XXXXXXXXXX/community/profile/edit/1/

Django Version: 1.4
Python Version: 2.6.6
Installed Applications:
('django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.admin',
 'django.contrib.admindocs',
 'south',
 'sphene.community',
 'sphene.sphboard',
 'sphene.sphwiki',
 'sphene.sphblog')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'sphene.community.middleware.ThreadLocals',
 'sphene.community.middleware.GroupMiddleware')

Template error:
In template 
/usr/lib/python2.6/site-packages/django_sct-0.7-py2.6.egg/sphene/community/templ
ates/sphene/community/profile_edit.html, error at line 36
   request
   26 :           <td>{% if field.errors %}{{ field.errors }}{% endif %}{{ field }}{% if field.help_text %}<br/>{{ field.help_text }}{% endif %}</td>

   27 :         </tr>

   28 :       {% endif %}

   29 :     {% endfor %}

   30 :     <tr>

   31 :       <td colspan="2"><input type="submit" value="{% trans "Save" %}" /></td>

   32 :     </tr>

   33 :   </table>

   34 :   {% if is_sphboard %}

   35 :     <br />{% load sphboard_extras %}

   36 :      {% show_active_monitors profile_user %} 

   37 :   {% endif %}

   38 : </form>

   39 : {% endblock %}

   40 : 

Traceback:
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/core/handlers/base
.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File 
"/usr/lib/python2.6/site-packages/django_sct-0.7-py2.6.egg/sphene/community/view
s.py" in profile_edit
  435.                                context_instance = RequestContext(request) )
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/shortcuts/__init__
.py" in render_to_response
  20.     return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/loader.py
" in render_to_string
  176.         return t.render(context_instance)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/base.py" 
in render
  140.             return self._render(context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/base.py" 
in _render
  134.         return self.nodelist.render(context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/base.py" 
in render
  823.                 bit = self.render_node(node, context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/debug.py"
 in render_node
  74.             return node.render(context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/loader_ta
gs.py" in render
  123.         return compiled_parent._render(context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/base.py" 
in _render
  134.         return self.nodelist.render(context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/base.py" 
in render
  823.                 bit = self.render_node(node, context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/debug.py"
 in render_node
  74.             return node.render(context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/loader_ta
gs.py" in render
  123.         return compiled_parent._render(context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/base.py" 
in _render
  134.         return self.nodelist.render(context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/base.py" 
in render
  823.                 bit = self.render_node(node, context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/debug.py"
 in render_node
  74.             return node.render(context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/loader_ta
gs.py" in render
  123.         return compiled_parent._render(context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/base.py" 
in _render
  134.         return self.nodelist.render(context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/base.py" 
in render
  823.                 bit = self.render_node(node, context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/debug.py"
 in render_node
  74.             return node.render(context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/loader_ta
gs.py" in render
  62.             result = block.nodelist.render(context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/base.py" 
in render
  823.                 bit = self.render_node(node, context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/debug.py"
 in render_node
  74.             return node.render(context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/defaultta
gs.py" in render
  281.                 return nodelist.render(context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/base.py" 
in render
  823.                 bit = self.render_node(node, context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/debug.py"
 in render_node
  74.             return node.render(context)
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/base.py" 
in render
  1178.                     _dict = func(*resolved_args, **resolved_kwargs)
File 
"/usr/lib/python2.6/site-packages/django_sct-0.7-py2.6.egg/sphene/sphboard/templ
atetags/sphboard_extras.py" in show_active_monitors
  326.     request = context['request']
File 
"/usr/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/context.p
y" in __getitem__
  54.         raise KeyError(key)

Exception Type: KeyError at /community/profile/edit/1/
Exception Value: 'request'

Original issue reported on code.google.com by dphoo...@gmail.com on 26 Sep 2012 at 8:18

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Hi.

I'm an idiot.  Or, at least, not great at reading documentation.  :-)

Apparently at some point 'django.core.context_processors.request' was removed 
from the default settings for TEMPLATE_CONTEXT_PROCESSORS.  Upon adding it back 
in like so to settings.py:

TEMPLATE_CONTEXT_PROCESSORS += (
    'django.core.context_processors.request',
    'sphene.community.context_processors.navigation',
)

...everything started working as expected.

So I guess this request needs to transmogrify to a documentation update.  
Section 2 of the community application docs at 
http://sct.sphene.net/wiki/show/Community/ indicate that 
django.core.context_processors.request is a Django default, when apparently it 
no longer is. 

Also, section 2.3 of the tutorial at http://sct.sphene.net/wiki/show/Tutorial/ 
should probably be updated to reflect the changes needed to 
TEMPLATE_CONTEXT_PROCESSORS.

Original comment by dphoo...@gmail.com on 26 Sep 2012 at 10:50