django-simple-friends | setup help: templates + friendship request error |

57 views
Skip to first unread message

justin jools

unread,
Sep 6, 2010, 1:00:33 PM9/6/10
to Django users
I am putting together my own little social network site using re-
useable apps.

I have installed : 'registration', 'profiles', 'accounts',
messages', no problem

I gave up on django-friends after being to frustrated with errors
asking for gae and yahoo integration??? and tried:
django-simple-friends, which has installed ok, but without any
documention am unsure how to:

setup templates for
1. friends list
2. add friends

and what to pass to the urls: (if I pass friends/add/username it
doesnt do anything)

from django.conf.urls.defaults import *

urlpatterns = patterns('friends.views',
url(r'^$',
'friend_list',
name='friends_home'),
url(r'^list/(?P<username>\w+)/$',
'friend_list',
name='friend_list'),
url(r'^add/(?P<username>\w+)/$',
'friendship_request',
name='friendship_request'),
url(r'^accept/(?P<username>\w+)/$',
'friendship_accept',
name='friendship_accept'),
url(r'^decline/(?P<username>\w+)/$',
'friendship_decline',
name='friendship_decline'),
url(r'^cancel/(?P<username>\w+)/$',
'friendship_cancel',
name='friendship_cancel'),
url(r'^delete/(?P<username>\w+)/$',
'friendship_delete',
name='friendship_delete'),
url(r'^block/(?P<username>\w+)/$',
'block_user',
name='block_user'),
url(r'^unblock/(?P<username>\w+)/$',
'unblock_user',
name='unblock_user'),
)

In my admin, friendship app:
Friendship requests
Friendships
User blocks

When I set up friendship request between 2 users: 'accept selected
friendship request' I get the error:

DoesNotExist at /admin/friends/friendshiprequest/
Friendship matching query does not exist.Request Method: POST
Request URL: http://127.0.0.1:8000/admin/friends/friendshiprequest/
Django Version: 1.3 pre-alpha
Exception Type: DoesNotExist
Exception Value: Friendship matching query does not exist.
Exception Location: C:\Python26\lib\site-packages\django\db\models
\query.py in get, line 341
Python Executable: C:\Python26\python.exe
Python Version: 2.6.4
Python Path: ['C:\\django\\swift', 'C:\\Python26\\lib\\site-packages\
\html5lib-0.90-py2.6.egg', 'C:\\Python26\\lib\\site-packages\
\django_page_cms-1.1.1-py2.6.egg', 'C:\\Python26\\lib\\site-packages\
\django_cms-2.0.2-py2.6.egg', 'C:\\Python26\\lib\\site-packages\
\django_admin_tools-0.2.0-py2.6.egg', 'C:\\Python26\\lib\\site-packages
\\django_friends-0.1.5-py2.6.egg', 'C:\\Python26\\lib\\site-packages\
\django_schedule-0.1.0-py2.6.egg', 'C:\\Python26\\lib\\site-packages\
\python_dateutil-1.5-py2.6.egg', 'C:\\Python26\\lib\\site-packages\
\django_forum-r53-py2.6.egg', 'C:\\Python26\\lib\\site-packages\
\django_notification-0.1.4-py2.6.egg', 'C:\\Python26\\lib\\site-
packages\\django_pagination-1.0.5-py2.6.egg', 'C:\\Python26\\lib\\site-
packages\\sphinx-0.6.5-py2.6.egg', 'C:\\Python26\\lib\\site-packages\
\docutils-0.6-py2.6.egg', 'C:\\Python26\\lib\\site-packages\
\jinja2-2.4.1-py2.6.egg', 'C:\\Python26\\lib\\site-packages\
\pygments-1.3.1-py2.6.egg', 'C:\\Python26\\lib\\site-packages\
\django_avatar-1.0.4-py2.6.egg', 'C:\\Python26\\lib\\site-packages\
\django_locations-0.1.0-py2.6.egg', 'C:\\Python26\\lib\\site-packages\
\virtualenv-1.4.9-py2.6.egg', 'C:\\Python26\\lib\\site-packages\
\virtualenvwrapper-2.2.2-py2.6.egg', 'C:\\Python26\\lib\\site-packages\
\pip-0.7.1-py2.6.egg', 'C:\\Python26\\lib\\site-packages\
\django_utils-0.0.2-py2.6.egg', 'C:\\Python26\\lib\\site-packages\
\django_haystack-1.0.1_final-py2.6.egg', 'C:\\Python26\\lib\\site-
packages\\django_google_contacts-0.1-py2.6.egg', 'C:\\Windows\
\system32\\python26.zip', 'C:\\Python26\\DLLs', 'C:\\Python26\\lib',
'C:\\Python26\\lib\\plat-win', 'C:\\Python26\\lib\\lib-tk', 'C:\
\Python26', 'C:\\Python26\\lib\\site-packages', 'C:\\Python26\\lib\
\site-packages\\PIL', 'c:\\python26\\lib\\site-packages']
Server time: Mon, 6 Sep 2010 17:58:13 +0100

Traceback Switch to copy-and-paste view
C:\Python26\lib\site-packages\django\core\handlers\base.py in
get_response
1. # Apply view middleware1. for
middleware_method in self._view_middleware:1.
response = middleware_method(request, callback, callback_args,
callback_kwargs)1. if response:
1. return response1.1. try:
100. response = callback(request, *callback_args,
**callback_kwargs) ...1. except Exception, e:
1. # If the view raised an exception, run it
through exception1. # middleware, and if the
exception middleware returns a1. # response, use
that. Otherwise, reraise the exception.1. for
middleware_method in self._exception_middleware:
1. response = middleware_method(request, e)
▶ Local vars
Variable Value
callback <function changelist_view at 0x02DF42B0>
callback_args ()
callback_kwargs {}
e DoesNotExist('Friendship matching query does not exist.',)
exceptions <module 'django.core.exceptions' from 'C:\Python26\lib\site-
packages\django\core\exceptions.pyc'>
middleware_method <bound method
AuthenticationMiddleware.process_request of
<django.contrib.auth.middleware.AuthenticationMiddleware object at
0x02D83150>>
receivers [(<function _rollback_on_exception at 0x02951670>, None)]
request <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'action':
[u'accept_friendship'], u'select_across': [u'0'],
u'csrfmiddlewaretoken': [u'946a09f6718e398c74df65dba037cacd'],
u'_selected_action': [u'1'], u'index': [u'0']}>, COOKIES:{'csrftoken':
'946a09f6718e398c74df65dba037cacd', 'sessionid':
'7af3752606301af160ab74c9cf712c82'}, META:{'ALLUSERSPROFILE': 'C:\
\ProgramData', 'APPDATA': 'C:\\Users\\m\\AppData\\Roaming',
'APR_ICONV_PATH': 'C:\\Subversion\\iconv', 'ASL.LOG':
'Destination=file;OnFirstLog=command,environment', 'CLASSPATH': '.;C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'COMMONPROGRAMFILES': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files',
'COMPUTERNAME': 'M-PC', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe',
'CONTENT_LENGTH': '120', 'CONTENT_TYPE': 'application/x-www-form-
urlencoded', 'CSRF_COOKIE': '946a09f6718e398c74df65dba037cacd',
'C_IA64_REDIST11': 'C:\\Program Files (x86)\\Common Files\\Intel\
\Shared Files\\cpp\\', 'DJANGO_SETTINGS_MODULE': 'swift.settings',
'FP_NO_HOST_CHECK': 'NO', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOMEDRIVE':
'C:', 'HOMEPATH': '\\Users\\m', 'HTTP_ACCEPT': 'application/x-ms-
application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg,
application/x-ms-xbap, application/x-shockwave-flash, */*',
'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-
GB', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'Keep-
Alive', 'HTTP_COOKIE': 'sessionid=7af3752606301af160ab74c9cf712c82;
csrftoken=946a09f6718e398c74df65dba037cacd', 'HTTP_HOST':
'127.0.0.1:8000', 'HTTP_REFERER': 'http://127.0.0.1:8000/admin/friends/
friendshiprequest/', 'HTTP_USER_AGENT': 'Mozilla/4.0 (compatible; MSIE
8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR
2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC
6.0; .NET CLR 1.1.4322)', 'LOCALAPPDATA': 'C:\\Users\\m\\AppData\
\Local', 'LOGONSERVER': '\\\\M-PC', 'NUMBER_OF_PROCESSORS': '4', 'OS':
'Windows_NT', 'PATH': 'C:\\Program Files (x86)\\ActiveState Komodo
Edit 5\\;C:\\Program Files (x86)\\Common Files\\Intel\\Shared Files\
\cpp\\bin\\ia64;C:\\Windows\\system32;C:\\Windows;C:\\Windows\
\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\
\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static;C:\\wamp\
\bin\\php\\php5.3.0;C:\\wamp\\www\\framework;C:\\Python26;C:\\Python26\
\Scripts;C:\\Python26\\Lib\\site-packages\\django\\bin;C:\\Subversion\
\bin;C:\\Program Files (x86)\\QuickTime\\QTSystem\\;C:\\Program Files
(x86)\\MKVtoolnix', 'PATHEXT':
'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PATH_INFO':
u'/admin/friends/friendshiprequest/', 'PROCESSOR_ARCHITECTURE': 'x86',
'PROCESSOR_ARCHITEW6432': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64
Family 6 Model 30 Stepping 5, GenuineIntel', 'PROCESSOR_LEVEL': '6',
'PROCESSOR_REVISION': '1e05', 'PROGRAMDATA': 'C:\\ProgramData',
'PROGRAMFILES': 'C:\\Program Files (x86)', 'PROGRAMFILES(X86)': 'C:\
\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PROMPT':
'$P$G', 'PSMODULEPATH': 'C:\\Windows\\system32\\WindowsPowerShell\
\v1.0\\Modules\\', 'PUBLIC': 'C:\\Users\\Public', 'QTJAVA': 'C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '',
'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'',
'SERVER_NAME': 'activate.adobe.com', 'SERVER_PORT': '8000',
'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1
Python/2.6.4', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:',
'SYSTEMROOT': 'C:\\Windows', 'TEMP': 'C:\\Users\\m\\AppData\\Local\
\Temp', 'TMP': 'C:\\Users\\m\\AppData\\Local\\Temp', 'USERDOMAIN': 'm-
PC', 'USERNAME': 'm', 'USERPROFILE': 'C:\\Users\\m',
'VBOX_INSTALL_PATH': 'C:\\Program Files\\Oracle\\VirtualBox\\',
'WINDIR': 'C:\\Windows', 'wsgi.errors': <open file '<stderr>', mode
'w' at 0x01DC40C0>, 'wsgi.file_wrapper': <class
'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input':
<socket._fileobject object at 0x030B4370>, 'wsgi.multiprocess': False,
'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme':
'http', 'wsgi.version': (1, 0)}>
resolver <RegexURLResolver swift.urls (None:None) ^/>
response None
self <django.core.handlers.wsgi.WSGIHandler object at 0x02CC2070>
settings <django.conf.LazySettings object at 0x0234F0D0>
urlconf 'swift.urls'
urlresolvers <module 'django.core.urlresolvers' from 'C:\Python26\lib
\site-packages\django\core\urlresolvers.pyc'>

C:\Python26\lib\site-packages\django\contrib\admin\options.py in
wrapper
2. super(ModelAdmin, self).__init__()2.2. def get_urls(self):
2. from django.conf.urls.defaults import patterns,
url2.2. def wrap(view):2. def wrapper(*args,
**kwargs):
239. return self.admin_site.admin_view(view)(*args,
**kwargs) ...2. return update_wrapper(wrapper,
view)2.2. info = self.model._meta.app_label,
self.model._meta.module_name2.2. urlpatterns = patterns('',
2. url(r'^$',
▶ Local vars
Variable Value
args (<WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'action':
[u'accept_friendship'], u'select_across': [u'0'],
u'csrfmiddlewaretoken': [u'946a09f6718e398c74df65dba037cacd'],
u'_selected_action': [u'1'], u'index': [u'0']}>, COOKIES:{'csrftoken':
'946a09f6718e398c74df65dba037cacd', 'sessionid':
'7af3752606301af160ab74c9cf712c82'}, META:{'ALLUSERSPROFILE': 'C:\
\ProgramData', 'APPDATA': 'C:\\Users\\m\\AppData\\Roaming',
'APR_ICONV_PATH': 'C:\\Subversion\\iconv', 'ASL.LOG':
'Destination=file;OnFirstLog=command,environment', 'CLASSPATH': '.;C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'COMMONPROGRAMFILES': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files',
'COMPUTERNAME': 'M-PC', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe',
'CONTENT_LENGTH': '120', 'CONTENT_TYPE': 'application/x-www-form-
urlencoded', 'CSRF_COOKIE': '946a09f6718e398c74df65dba037cacd',
'C_IA64_REDIST11': 'C:\\Program Files (x86)\\Common Files\\Intel\
\Shared Files\\cpp\\', 'DJANGO_SETTINGS_MODULE': 'swift.settings',
'FP_NO_HOST_CHECK': 'NO', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOMEDRIVE':
'C:', 'HOMEPATH': '\\Users\\m', 'HTTP_ACCEPT': 'application/x-ms-
application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg,
application/x-ms-xbap, application/x-shockwave-flash, */*',
'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-
GB', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'Keep-
Alive', 'HTTP_COOKIE': 'sessionid=7af3752606301af160ab74c9cf712c82;
csrftoken=946a09f6718e398c74df65dba037cacd', 'HTTP_HOST':
'127.0.0.1:8000', 'HTTP_REFERER': 'http://127.0.0.1:8000/admin/friends/
friendshiprequest/', 'HTTP_USER_AGENT': 'Mozilla/4.0 (compatible; MSIE
8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR
2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC
6.0; .NET CLR 1.1.4322)', 'LOCALAPPDATA': 'C:\\Users\\m\\AppData\
\Local', 'LOGONSERVER': '\\\\M-PC', 'NUMBER_OF_PROCESSORS': '4', 'OS':
'Windows_NT', 'PATH': 'C:\\Program Files (x86)\\ActiveState Komodo
Edit 5\\;C:\\Program Files (x86)\\Common Files\\Intel\\Shared Files\
\cpp\\bin\\ia64;C:\\Windows\\system32;C:\\Windows;C:\\Windows\
\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\
\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static;C:\\wamp\
\bin\\php\\php5.3.0;C:\\wamp\\www\\framework;C:\\Python26;C:\\Python26\
\Scripts;C:\\Python26\\Lib\\site-packages\\django\\bin;C:\\Subversion\
\bin;C:\\Program Files (x86)\\QuickTime\\QTSystem\\;C:\\Program Files
(x86)\\MKVtoolnix', 'PATHEXT':
'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PATH_INFO':
u'/admin/friends/friendshiprequest/', 'PROCESSOR_ARCHITECTURE': 'x86',
'PROCESSOR_ARCHITEW6432': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64
Family 6 Model 30 Stepping 5, GenuineIntel', 'PROCESSOR_LEVEL': '6',
'PROCESSOR_REVISION': '1e05', 'PROGRAMDATA': 'C:\\ProgramData',
'PROGRAMFILES': 'C:\\Program Files (x86)', 'PROGRAMFILES(X86)': 'C:\
\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PROMPT':
'$P$G', 'PSMODULEPATH': 'C:\\Windows\\system32\\WindowsPowerShell\
\v1.0\\Modules\\', 'PUBLIC': 'C:\\Users\\Public', 'QTJAVA': 'C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '',
'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'',
'SERVER_NAME': 'activate.adobe.com', 'SERVER_PORT': '8000',
'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1
Python/2.6.4', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:',
'SYSTEMROOT': 'C:\\Windows', 'TEMP': 'C:\\Users\\m\\AppData\\Local\
\Temp', 'TMP': 'C:\\Users\\m\\AppData\\Local\\Temp', 'USERDOMAIN': 'm-
PC', 'USERNAME': 'm', 'USERPROFILE': 'C:\\Users\\m',
'VBOX_INSTALL_PATH': 'C:\\Program Files\\Oracle\\VirtualBox\\',
'WINDIR': 'C:\\Windows', 'wsgi.errors': <open file '<stderr>', mode
'w' at 0x01DC40C0>, 'wsgi.file_wrapper': <class
'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input':
<socket._fileobject object at 0x030B4370>, 'wsgi.multiprocess': False,
'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme':
'http', 'wsgi.version': (1, 0)}>,)
kwargs {}
self <friends.admin.FriendshipRequestAdmin object at 0x02DEFA50>
view <bound method FriendshipRequestAdmin.changelist_view of
<friends.admin.FriendshipRequestAdmin object at 0x02DEFA50>>

C:\Python26\lib\site-packages\django\utils\decorators.py in
_wrapped_view
3. if result is not None:3.
return result3. if hasattr(middleware, 'process_view'):
3. result = middleware.process_view(request,
view_func, args, kwargs)3. if result is not None:
3. return result3. try:
76. response = view_func(request, *args,
**kwargs) ...3. except Exception, e:
3. if hasattr(middleware, 'process_exception'):
3. result =
middleware.process_exception(request, e)3. if
result is not None:3. return
result3. raise
▶ Local vars
Variable Value
args ()
e DoesNotExist('Friendship matching query does not exist.',)
kwargs {}
middleware <django.middleware.csrf.CsrfViewMiddleware object at
0x02C4A8F0>
request <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'action':
[u'accept_friendship'], u'select_across': [u'0'],
u'csrfmiddlewaretoken': [u'946a09f6718e398c74df65dba037cacd'],
u'_selected_action': [u'1'], u'index': [u'0']}>, COOKIES:{'csrftoken':
'946a09f6718e398c74df65dba037cacd', 'sessionid':
'7af3752606301af160ab74c9cf712c82'}, META:{'ALLUSERSPROFILE': 'C:\
\ProgramData', 'APPDATA': 'C:\\Users\\m\\AppData\\Roaming',
'APR_ICONV_PATH': 'C:\\Subversion\\iconv', 'ASL.LOG':
'Destination=file;OnFirstLog=command,environment', 'CLASSPATH': '.;C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'COMMONPROGRAMFILES': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files',
'COMPUTERNAME': 'M-PC', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe',
'CONTENT_LENGTH': '120', 'CONTENT_TYPE': 'application/x-www-form-
urlencoded', 'CSRF_COOKIE': '946a09f6718e398c74df65dba037cacd',
'C_IA64_REDIST11': 'C:\\Program Files (x86)\\Common Files\\Intel\
\Shared Files\\cpp\\', 'DJANGO_SETTINGS_MODULE': 'swift.settings',
'FP_NO_HOST_CHECK': 'NO', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOMEDRIVE':
'C:', 'HOMEPATH': '\\Users\\m', 'HTTP_ACCEPT': 'application/x-ms-
application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg,
application/x-ms-xbap, application/x-shockwave-flash, */*',
'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-
GB', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'Keep-
Alive', 'HTTP_COOKIE': 'sessionid=7af3752606301af160ab74c9cf712c82;
csrftoken=946a09f6718e398c74df65dba037cacd', 'HTTP_HOST':
'127.0.0.1:8000', 'HTTP_REFERER': 'http://127.0.0.1:8000/admin/friends/
friendshiprequest/', 'HTTP_USER_AGENT': 'Mozilla/4.0 (compatible; MSIE
8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR
2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC
6.0; .NET CLR 1.1.4322)', 'LOCALAPPDATA': 'C:\\Users\\m\\AppData\
\Local', 'LOGONSERVER': '\\\\M-PC', 'NUMBER_OF_PROCESSORS': '4', 'OS':
'Windows_NT', 'PATH': 'C:\\Program Files (x86)\\ActiveState Komodo
Edit 5\\;C:\\Program Files (x86)\\Common Files\\Intel\\Shared Files\
\cpp\\bin\\ia64;C:\\Windows\\system32;C:\\Windows;C:\\Windows\
\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\
\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static;C:\\wamp\
\bin\\php\\php5.3.0;C:\\wamp\\www\\framework;C:\\Python26;C:\\Python26\
\Scripts;C:\\Python26\\Lib\\site-packages\\django\\bin;C:\\Subversion\
\bin;C:\\Program Files (x86)\\QuickTime\\QTSystem\\;C:\\Program Files
(x86)\\MKVtoolnix', 'PATHEXT':
'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PATH_INFO':
u'/admin/friends/friendshiprequest/', 'PROCESSOR_ARCHITECTURE': 'x86',
'PROCESSOR_ARCHITEW6432': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64
Family 6 Model 30 Stepping 5, GenuineIntel', 'PROCESSOR_LEVEL': '6',
'PROCESSOR_REVISION': '1e05', 'PROGRAMDATA': 'C:\\ProgramData',
'PROGRAMFILES': 'C:\\Program Files (x86)', 'PROGRAMFILES(X86)': 'C:\
\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PROMPT':
'$P$G', 'PSMODULEPATH': 'C:\\Windows\\system32\\WindowsPowerShell\
\v1.0\\Modules\\', 'PUBLIC': 'C:\\Users\\Public', 'QTJAVA': 'C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '',
'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'',
'SERVER_NAME': 'activate.adobe.com', 'SERVER_PORT': '8000',
'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1
Python/2.6.4', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:',
'SYSTEMROOT': 'C:\\Windows', 'TEMP': 'C:\\Users\\m\\AppData\\Local\
\Temp', 'TMP': 'C:\\Users\\m\\AppData\\Local\\Temp', 'USERDOMAIN': 'm-
PC', 'USERNAME': 'm', 'USERPROFILE': 'C:\\Users\\m',
'VBOX_INSTALL_PATH': 'C:\\Program Files\\Oracle\\VirtualBox\\',
'WINDIR': 'C:\\Windows', 'wsgi.errors': <open file '<stderr>', mode
'w' at 0x01DC40C0>, 'wsgi.file_wrapper': <class
'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input':
<socket._fileobject object at 0x030B4370>, 'wsgi.multiprocess': False,
'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme':
'http', 'wsgi.version': (1, 0)}>
result None
view_func <function inner at 0x030A5770>

C:\Python26\lib\site-packages\django\views\decorators\cache.py in
_wrapped_view_func
4.4.def never_cache(view_func):4. """4. Decorator that adds
headers to a response so that it will4. never be cached.4.
"""4. def _wrapped_view_func(request, *args, **kwargs):
69. response = view_func(request, *args, **kwargs) ...4.
add_never_cache_headers(response)4. return response4. return
wraps(view_func, assigned=available_attrs(view_func))
(_wrapped_view_func)
▶ Local vars
Variable Value
args ()
kwargs {}
request <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'action':
[u'accept_friendship'], u'select_across': [u'0'],
u'csrfmiddlewaretoken': [u'946a09f6718e398c74df65dba037cacd'],
u'_selected_action': [u'1'], u'index': [u'0']}>, COOKIES:{'csrftoken':
'946a09f6718e398c74df65dba037cacd', 'sessionid':
'7af3752606301af160ab74c9cf712c82'}, META:{'ALLUSERSPROFILE': 'C:\
\ProgramData', 'APPDATA': 'C:\\Users\\m\\AppData\\Roaming',
'APR_ICONV_PATH': 'C:\\Subversion\\iconv', 'ASL.LOG':
'Destination=file;OnFirstLog=command,environment', 'CLASSPATH': '.;C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'COMMONPROGRAMFILES': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files',
'COMPUTERNAME': 'M-PC', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe',
'CONTENT_LENGTH': '120', 'CONTENT_TYPE': 'application/x-www-form-
urlencoded', 'CSRF_COOKIE': '946a09f6718e398c74df65dba037cacd',
'C_IA64_REDIST11': 'C:\\Program Files (x86)\\Common Files\\Intel\
\Shared Files\\cpp\\', 'DJANGO_SETTINGS_MODULE': 'swift.settings',
'FP_NO_HOST_CHECK': 'NO', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOMEDRIVE':
'C:', 'HOMEPATH': '\\Users\\m', 'HTTP_ACCEPT': 'application/x-ms-
application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg,
application/x-ms-xbap, application/x-shockwave-flash, */*',
'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-
GB', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'Keep-
Alive', 'HTTP_COOKIE': 'sessionid=7af3752606301af160ab74c9cf712c82;
csrftoken=946a09f6718e398c74df65dba037cacd', 'HTTP_HOST':
'127.0.0.1:8000', 'HTTP_REFERER': 'http://127.0.0.1:8000/admin/friends/
friendshiprequest/', 'HTTP_USER_AGENT': 'Mozilla/4.0 (compatible; MSIE
8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR
2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC
6.0; .NET CLR 1.1.4322)', 'LOCALAPPDATA': 'C:\\Users\\m\\AppData\
\Local', 'LOGONSERVER': '\\\\M-PC', 'NUMBER_OF_PROCESSORS': '4', 'OS':
'Windows_NT', 'PATH': 'C:\\Program Files (x86)\\ActiveState Komodo
Edit 5\\;C:\\Program Files (x86)\\Common Files\\Intel\\Shared Files\
\cpp\\bin\\ia64;C:\\Windows\\system32;C:\\Windows;C:\\Windows\
\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\
\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static;C:\\wamp\
\bin\\php\\php5.3.0;C:\\wamp\\www\\framework;C:\\Python26;C:\\Python26\
\Scripts;C:\\Python26\\Lib\\site-packages\\django\\bin;C:\\Subversion\
\bin;C:\\Program Files (x86)\\QuickTime\\QTSystem\\;C:\\Program Files
(x86)\\MKVtoolnix', 'PATHEXT':
'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PATH_INFO':
u'/admin/friends/friendshiprequest/', 'PROCESSOR_ARCHITECTURE': 'x86',
'PROCESSOR_ARCHITEW6432': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64
Family 6 Model 30 Stepping 5, GenuineIntel', 'PROCESSOR_LEVEL': '6',
'PROCESSOR_REVISION': '1e05', 'PROGRAMDATA': 'C:\\ProgramData',
'PROGRAMFILES': 'C:\\Program Files (x86)', 'PROGRAMFILES(X86)': 'C:\
\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PROMPT':
'$P$G', 'PSMODULEPATH': 'C:\\Windows\\system32\\WindowsPowerShell\
\v1.0\\Modules\\', 'PUBLIC': 'C:\\Users\\Public', 'QTJAVA': 'C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '',
'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'',
'SERVER_NAME': 'activate.adobe.com', 'SERVER_PORT': '8000',
'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1
Python/2.6.4', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:',
'SYSTEMROOT': 'C:\\Windows', 'TEMP': 'C:\\Users\\m\\AppData\\Local\
\Temp', 'TMP': 'C:\\Users\\m\\AppData\\Local\\Temp', 'USERDOMAIN': 'm-
PC', 'USERNAME': 'm', 'USERPROFILE': 'C:\\Users\\m',
'VBOX_INSTALL_PATH': 'C:\\Program Files\\Oracle\\VirtualBox\\',
'WINDIR': 'C:\\Windows', 'wsgi.errors': <open file '<stderr>', mode
'w' at 0x01DC40C0>, 'wsgi.file_wrapper': <class
'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input':
<socket._fileobject object at 0x030B4370>, 'wsgi.multiprocess': False,
'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme':
'http', 'wsgi.version': (1, 0)}>
view_func <function inner at 0x030A58B0>

C:\Python26\lib\site-packages\django\contrib\admin\sites.py in inner
5. By default, admin_views are marked non-cacheable using
the5. ``never_cache`` decorator. If the view can be safely
cached, set5. cacheable=True.5. """5. def
inner(request, *args, **kwargs):5. if not
self.has_permission(request):5. return
self.login(request)
190. return view(request, *args, **kwargs) ...5. if
not cacheable:5. inner = never_cache(inner)5. # We
add csrf_protect here so this function can be used as a
utility5. # function for any view, without having to repeat
'csrf_protect'.5. if not getattr(view, 'csrf_exempt', False):
5. inner = csrf_protect(inner)
▶ Local vars
Variable Value
args ()
kwargs {}
request <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'action':
[u'accept_friendship'], u'select_across': [u'0'],
u'csrfmiddlewaretoken': [u'946a09f6718e398c74df65dba037cacd'],
u'_selected_action': [u'1'], u'index': [u'0']}>, COOKIES:{'csrftoken':
'946a09f6718e398c74df65dba037cacd', 'sessionid':
'7af3752606301af160ab74c9cf712c82'}, META:{'ALLUSERSPROFILE': 'C:\
\ProgramData', 'APPDATA': 'C:\\Users\\m\\AppData\\Roaming',
'APR_ICONV_PATH': 'C:\\Subversion\\iconv', 'ASL.LOG':
'Destination=file;OnFirstLog=command,environment', 'CLASSPATH': '.;C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'COMMONPROGRAMFILES': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files',
'COMPUTERNAME': 'M-PC', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe',
'CONTENT_LENGTH': '120', 'CONTENT_TYPE': 'application/x-www-form-
urlencoded', 'CSRF_COOKIE': '946a09f6718e398c74df65dba037cacd',
'C_IA64_REDIST11': 'C:\\Program Files (x86)\\Common Files\\Intel\
\Shared Files\\cpp\\', 'DJANGO_SETTINGS_MODULE': 'swift.settings',
'FP_NO_HOST_CHECK': 'NO', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOMEDRIVE':
'C:', 'HOMEPATH': '\\Users\\m', 'HTTP_ACCEPT': 'application/x-ms-
application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg,
application/x-ms-xbap, application/x-shockwave-flash, */*',
'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-
GB', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'Keep-
Alive', 'HTTP_COOKIE': 'sessionid=7af3752606301af160ab74c9cf712c82;
csrftoken=946a09f6718e398c74df65dba037cacd', 'HTTP_HOST':
'127.0.0.1:8000', 'HTTP_REFERER': 'http://127.0.0.1:8000/admin/friends/
friendshiprequest/', 'HTTP_USER_AGENT': 'Mozilla/4.0 (compatible; MSIE
8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR
2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC
6.0; .NET CLR 1.1.4322)', 'LOCALAPPDATA': 'C:\\Users\\m\\AppData\
\Local', 'LOGONSERVER': '\\\\M-PC', 'NUMBER_OF_PROCESSORS': '4', 'OS':
'Windows_NT', 'PATH': 'C:\\Program Files (x86)\\ActiveState Komodo
Edit 5\\;C:\\Program Files (x86)\\Common Files\\Intel\\Shared Files\
\cpp\\bin\\ia64;C:\\Windows\\system32;C:\\Windows;C:\\Windows\
\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\
\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static;C:\\wamp\
\bin\\php\\php5.3.0;C:\\wamp\\www\\framework;C:\\Python26;C:\\Python26\
\Scripts;C:\\Python26\\Lib\\site-packages\\django\\bin;C:\\Subversion\
\bin;C:\\Program Files (x86)\\QuickTime\\QTSystem\\;C:\\Program Files
(x86)\\MKVtoolnix', 'PATHEXT':
'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PATH_INFO':
u'/admin/friends/friendshiprequest/', 'PROCESSOR_ARCHITECTURE': 'x86',
'PROCESSOR_ARCHITEW6432': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64
Family 6 Model 30 Stepping 5, GenuineIntel', 'PROCESSOR_LEVEL': '6',
'PROCESSOR_REVISION': '1e05', 'PROGRAMDATA': 'C:\\ProgramData',
'PROGRAMFILES': 'C:\\Program Files (x86)', 'PROGRAMFILES(X86)': 'C:\
\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PROMPT':
'$P$G', 'PSMODULEPATH': 'C:\\Windows\\system32\\WindowsPowerShell\
\v1.0\\Modules\\', 'PUBLIC': 'C:\\Users\\Public', 'QTJAVA': 'C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '',
'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'',
'SERVER_NAME': 'activate.adobe.com', 'SERVER_PORT': '8000',
'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1
Python/2.6.4', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:',
'SYSTEMROOT': 'C:\\Windows', 'TEMP': 'C:\\Users\\m\\AppData\\Local\
\Temp', 'TMP': 'C:\\Users\\m\\AppData\\Local\\Temp', 'USERDOMAIN': 'm-
PC', 'USERNAME': 'm', 'USERPROFILE': 'C:\\Users\\m',
'VBOX_INSTALL_PATH': 'C:\\Program Files\\Oracle\\VirtualBox\\',
'WINDIR': 'C:\\Windows', 'wsgi.errors': <open file '<stderr>', mode
'w' at 0x01DC40C0>, 'wsgi.file_wrapper': <class
'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input':
<socket._fileobject object at 0x030B4370>, 'wsgi.multiprocess': False,
'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme':
'http', 'wsgi.version': (1, 0)}>
self <django.contrib.admin.sites.AdminSite object at 0x02C5F450>
view <bound method FriendshipRequestAdmin.changelist_view of
<friends.admin.FriendshipRequestAdmin object at 0x02DEFA50>>

C:\Python26\lib\site-packages\django\utils\decorators.py in _wrapper
6. def _dec(func):6. def _wrapper(self, *args, **kwargs):
6. def bound_func(*args2, **kwargs2):6.
return func(self, *args2, **kwargs2)6. # bound_func has the
signature that 'decorator' expects i.e. no6. # 'self'
argument, but it is a closure over self so it can call6. #
'func' correctly.
21. return decorator(bound_func)(*args, **kwargs) ...
6. return wraps(func)(_wrapper)6. update_wrapper(_dec,
decorator)6. # Change the name to aid debugging.6. _dec.__name__
= 'method_decorator(%s)' % decorator.__name__6. return _dec6.
▶ Local vars
Variable Value
args (<WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'action':
[u'accept_friendship'], u'select_across': [u'0'],
u'csrfmiddlewaretoken': [u'946a09f6718e398c74df65dba037cacd'],
u'_selected_action': [u'1'], u'index': [u'0']}>, COOKIES:{'csrftoken':
'946a09f6718e398c74df65dba037cacd', 'sessionid':
'7af3752606301af160ab74c9cf712c82'}, META:{'ALLUSERSPROFILE': 'C:\
\ProgramData', 'APPDATA': 'C:\\Users\\m\\AppData\\Roaming',
'APR_ICONV_PATH': 'C:\\Subversion\\iconv', 'ASL.LOG':
'Destination=file;OnFirstLog=command,environment', 'CLASSPATH': '.;C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'COMMONPROGRAMFILES': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files',
'COMPUTERNAME': 'M-PC', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe',
'CONTENT_LENGTH': '120', 'CONTENT_TYPE': 'application/x-www-form-
urlencoded', 'CSRF_COOKIE': '946a09f6718e398c74df65dba037cacd',
'C_IA64_REDIST11': 'C:\\Program Files (x86)\\Common Files\\Intel\
\Shared Files\\cpp\\', 'DJANGO_SETTINGS_MODULE': 'swift.settings',
'FP_NO_HOST_CHECK': 'NO', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOMEDRIVE':
'C:', 'HOMEPATH': '\\Users\\m', 'HTTP_ACCEPT': 'application/x-ms-
application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg,
application/x-ms-xbap, application/x-shockwave-flash, */*',
'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-
GB', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'Keep-
Alive', 'HTTP_COOKIE': 'sessionid=7af3752606301af160ab74c9cf712c82;
csrftoken=946a09f6718e398c74df65dba037cacd', 'HTTP_HOST':
'127.0.0.1:8000', 'HTTP_REFERER': 'http://127.0.0.1:8000/admin/friends/
friendshiprequest/', 'HTTP_USER_AGENT': 'Mozilla/4.0 (compatible; MSIE
8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR
2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC
6.0; .NET CLR 1.1.4322)', 'LOCALAPPDATA': 'C:\\Users\\m\\AppData\
\Local', 'LOGONSERVER': '\\\\M-PC', 'NUMBER_OF_PROCESSORS': '4', 'OS':
'Windows_NT', 'PATH': 'C:\\Program Files (x86)\\ActiveState Komodo
Edit 5\\;C:\\Program Files (x86)\\Common Files\\Intel\\Shared Files\
\cpp\\bin\\ia64;C:\\Windows\\system32;C:\\Windows;C:\\Windows\
\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\
\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static;C:\\wamp\
\bin\\php\\php5.3.0;C:\\wamp\\www\\framework;C:\\Python26;C:\\Python26\
\Scripts;C:\\Python26\\Lib\\site-packages\\django\\bin;C:\\Subversion\
\bin;C:\\Program Files (x86)\\QuickTime\\QTSystem\\;C:\\Program Files
(x86)\\MKVtoolnix', 'PATHEXT':
'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PATH_INFO':
u'/admin/friends/friendshiprequest/', 'PROCESSOR_ARCHITECTURE': 'x86',
'PROCESSOR_ARCHITEW6432': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64
Family 6 Model 30 Stepping 5, GenuineIntel', 'PROCESSOR_LEVEL': '6',
'PROCESSOR_REVISION': '1e05', 'PROGRAMDATA': 'C:\\ProgramData',
'PROGRAMFILES': 'C:\\Program Files (x86)', 'PROGRAMFILES(X86)': 'C:\
\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PROMPT':
'$P$G', 'PSMODULEPATH': 'C:\\Windows\\system32\\WindowsPowerShell\
\v1.0\\Modules\\', 'PUBLIC': 'C:\\Users\\Public', 'QTJAVA': 'C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '',
'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'',
'SERVER_NAME': 'activate.adobe.com', 'SERVER_PORT': '8000',
'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1
Python/2.6.4', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:',
'SYSTEMROOT': 'C:\\Windows', 'TEMP': 'C:\\Users\\m\\AppData\\Local\
\Temp', 'TMP': 'C:\\Users\\m\\AppData\\Local\\Temp', 'USERDOMAIN': 'm-
PC', 'USERNAME': 'm', 'USERPROFILE': 'C:\\Users\\m',
'VBOX_INSTALL_PATH': 'C:\\Program Files\\Oracle\\VirtualBox\\',
'WINDIR': 'C:\\Windows', 'wsgi.errors': <open file '<stderr>', mode
'w' at 0x01DC40C0>, 'wsgi.file_wrapper': <class
'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input':
<socket._fileobject object at 0x030B4370>, 'wsgi.multiprocess': False,
'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme':
'http', 'wsgi.version': (1, 0)}>,)
bound_func <function bound_func at 0x030A5170>
decorator <function csrf_protect at 0x02C4F430>
func <function changelist_view at 0x02C58EB0>
kwargs {}
self <friends.admin.FriendshipRequestAdmin object at 0x02DEFA50>

C:\Python26\lib\site-packages\django\utils\decorators.py in
_wrapped_view
7. if result is not None:7.
return result7. if hasattr(middleware, 'process_view'):
7. result = middleware.process_view(request,
view_func, args, kwargs)7. if result is not None:
7. return result7. try:
76. response = view_func(request, *args,
**kwargs) ...7. except Exception, e:
7. if hasattr(middleware, 'process_exception'):
7. result =
middleware.process_exception(request, e)7. if
result is not None:7. return
result7. raise
▶ Local vars
Variable Value
args ()
e DoesNotExist('Friendship matching query does not exist.',)
kwargs {}
middleware <django.middleware.csrf.CsrfViewMiddleware object at
0x02C4A8F0>
request <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'action':
[u'accept_friendship'], u'select_across': [u'0'],
u'csrfmiddlewaretoken': [u'946a09f6718e398c74df65dba037cacd'],
u'_selected_action': [u'1'], u'index': [u'0']}>, COOKIES:{'csrftoken':
'946a09f6718e398c74df65dba037cacd', 'sessionid':
'7af3752606301af160ab74c9cf712c82'}, META:{'ALLUSERSPROFILE': 'C:\
\ProgramData', 'APPDATA': 'C:\\Users\\m\\AppData\\Roaming',
'APR_ICONV_PATH': 'C:\\Subversion\\iconv', 'ASL.LOG':
'Destination=file;OnFirstLog=command,environment', 'CLASSPATH': '.;C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'COMMONPROGRAMFILES': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files',
'COMPUTERNAME': 'M-PC', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe',
'CONTENT_LENGTH': '120', 'CONTENT_TYPE': 'application/x-www-form-
urlencoded', 'CSRF_COOKIE': '946a09f6718e398c74df65dba037cacd',
'C_IA64_REDIST11': 'C:\\Program Files (x86)\\Common Files\\Intel\
\Shared Files\\cpp\\', 'DJANGO_SETTINGS_MODULE': 'swift.settings',
'FP_NO_HOST_CHECK': 'NO', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOMEDRIVE':
'C:', 'HOMEPATH': '\\Users\\m', 'HTTP_ACCEPT': 'application/x-ms-
application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg,
application/x-ms-xbap, application/x-shockwave-flash, */*',
'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-
GB', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'Keep-
Alive', 'HTTP_COOKIE': 'sessionid=7af3752606301af160ab74c9cf712c82;
csrftoken=946a09f6718e398c74df65dba037cacd', 'HTTP_HOST':
'127.0.0.1:8000', 'HTTP_REFERER': 'http://127.0.0.1:8000/admin/friends/
friendshiprequest/', 'HTTP_USER_AGENT': 'Mozilla/4.0 (compatible; MSIE
8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR
2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC
6.0; .NET CLR 1.1.4322)', 'LOCALAPPDATA': 'C:\\Users\\m\\AppData\
\Local', 'LOGONSERVER': '\\\\M-PC', 'NUMBER_OF_PROCESSORS': '4', 'OS':
'Windows_NT', 'PATH': 'C:\\Program Files (x86)\\ActiveState Komodo
Edit 5\\;C:\\Program Files (x86)\\Common Files\\Intel\\Shared Files\
\cpp\\bin\\ia64;C:\\Windows\\system32;C:\\Windows;C:\\Windows\
\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\
\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static;C:\\wamp\
\bin\\php\\php5.3.0;C:\\wamp\\www\\framework;C:\\Python26;C:\\Python26\
\Scripts;C:\\Python26\\Lib\\site-packages\\django\\bin;C:\\Subversion\
\bin;C:\\Program Files (x86)\\QuickTime\\QTSystem\\;C:\\Program Files
(x86)\\MKVtoolnix', 'PATHEXT':
'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PATH_INFO':
u'/admin/friends/friendshiprequest/', 'PROCESSOR_ARCHITECTURE': 'x86',
'PROCESSOR_ARCHITEW6432': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64
Family 6 Model 30 Stepping 5, GenuineIntel', 'PROCESSOR_LEVEL': '6',
'PROCESSOR_REVISION': '1e05', 'PROGRAMDATA': 'C:\\ProgramData',
'PROGRAMFILES': 'C:\\Program Files (x86)', 'PROGRAMFILES(X86)': 'C:\
\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PROMPT':
'$P$G', 'PSMODULEPATH': 'C:\\Windows\\system32\\WindowsPowerShell\
\v1.0\\Modules\\', 'PUBLIC': 'C:\\Users\\Public', 'QTJAVA': 'C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '',
'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'',
'SERVER_NAME': 'activate.adobe.com', 'SERVER_PORT': '8000',
'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1
Python/2.6.4', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:',
'SYSTEMROOT': 'C:\\Windows', 'TEMP': 'C:\\Users\\m\\AppData\\Local\
\Temp', 'TMP': 'C:\\Users\\m\\AppData\\Local\\Temp', 'USERDOMAIN': 'm-
PC', 'USERNAME': 'm', 'USERPROFILE': 'C:\\Users\\m',
'VBOX_INSTALL_PATH': 'C:\\Program Files\\Oracle\\VirtualBox\\',
'WINDIR': 'C:\\Windows', 'wsgi.errors': <open file '<stderr>', mode
'w' at 0x01DC40C0>, 'wsgi.file_wrapper': <class
'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input':
<socket._fileobject object at 0x030B4370>, 'wsgi.multiprocess': False,
'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme':
'http', 'wsgi.version': (1, 0)}>
result None
view_func <function bound_func at 0x030A5170>

C:\Python26\lib\site-packages\django\utils\decorators.py in
bound_func
8.def method_decorator(decorator):8. """8. Converts a function
decorator into a method decorator8. """8. def _dec(func):
8. def _wrapper(self, *args, **kwargs):8. def
bound_func(*args2, **kwargs2):
17. return func(self, *args2, **kwargs2) ...
8. # bound_func has the signature that 'decorator' expects
i.e. no8. # 'self' argument, but it is a closure over self
so it can call8. # 'func' correctly.8. return
decorator(bound_func)(*args, **kwargs)8. return wraps(func)
(_wrapper)8. update_wrapper(_dec, decorator)
▶ Local vars
Variable Value
args2 (<WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'action':
[u'accept_friendship'], u'select_across': [u'0'],
u'csrfmiddlewaretoken': [u'946a09f6718e398c74df65dba037cacd'],
u'_selected_action': [u'1'], u'index': [u'0']}>, COOKIES:{'csrftoken':
'946a09f6718e398c74df65dba037cacd', 'sessionid':
'7af3752606301af160ab74c9cf712c82'}, META:{'ALLUSERSPROFILE': 'C:\
\ProgramData', 'APPDATA': 'C:\\Users\\m\\AppData\\Roaming',
'APR_ICONV_PATH': 'C:\\Subversion\\iconv', 'ASL.LOG':
'Destination=file;OnFirstLog=command,environment', 'CLASSPATH': '.;C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'COMMONPROGRAMFILES': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files',
'COMPUTERNAME': 'M-PC', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe',
'CONTENT_LENGTH': '120', 'CONTENT_TYPE': 'application/x-www-form-
urlencoded', 'CSRF_COOKIE': '946a09f6718e398c74df65dba037cacd',
'C_IA64_REDIST11': 'C:\\Program Files (x86)\\Common Files\\Intel\
\Shared Files\\cpp\\', 'DJANGO_SETTINGS_MODULE': 'swift.settings',
'FP_NO_HOST_CHECK': 'NO', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOMEDRIVE':
'C:', 'HOMEPATH': '\\Users\\m', 'HTTP_ACCEPT': 'application/x-ms-
application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg,
application/x-ms-xbap, application/x-shockwave-flash, */*',
'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-
GB', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'Keep-
Alive', 'HTTP_COOKIE': 'sessionid=7af3752606301af160ab74c9cf712c82;
csrftoken=946a09f6718e398c74df65dba037cacd', 'HTTP_HOST':
'127.0.0.1:8000', 'HTTP_REFERER': 'http://127.0.0.1:8000/admin/friends/
friendshiprequest/', 'HTTP_USER_AGENT': 'Mozilla/4.0 (compatible; MSIE
8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR
2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC
6.0; .NET CLR 1.1.4322)', 'LOCALAPPDATA': 'C:\\Users\\m\\AppData\
\Local', 'LOGONSERVER': '\\\\M-PC', 'NUMBER_OF_PROCESSORS': '4', 'OS':
'Windows_NT', 'PATH': 'C:\\Program Files (x86)\\ActiveState Komodo
Edit 5\\;C:\\Program Files (x86)\\Common Files\\Intel\\Shared Files\
\cpp\\bin\\ia64;C:\\Windows\\system32;C:\\Windows;C:\\Windows\
\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\
\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static;C:\\wamp\
\bin\\php\\php5.3.0;C:\\wamp\\www\\framework;C:\\Python26;C:\\Python26\
\Scripts;C:\\Python26\\Lib\\site-packages\\django\\bin;C:\\Subversion\
\bin;C:\\Program Files (x86)\\QuickTime\\QTSystem\\;C:\\Program Files
(x86)\\MKVtoolnix', 'PATHEXT':
'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PATH_INFO':
u'/admin/friends/friendshiprequest/', 'PROCESSOR_ARCHITECTURE': 'x86',
'PROCESSOR_ARCHITEW6432': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64
Family 6 Model 30 Stepping 5, GenuineIntel', 'PROCESSOR_LEVEL': '6',
'PROCESSOR_REVISION': '1e05', 'PROGRAMDATA': 'C:\\ProgramData',
'PROGRAMFILES': 'C:\\Program Files (x86)', 'PROGRAMFILES(X86)': 'C:\
\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PROMPT':
'$P$G', 'PSMODULEPATH': 'C:\\Windows\\system32\\WindowsPowerShell\
\v1.0\\Modules\\', 'PUBLIC': 'C:\\Users\\Public', 'QTJAVA': 'C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '',
'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'',
'SERVER_NAME': 'activate.adobe.com', 'SERVER_PORT': '8000',
'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1
Python/2.6.4', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:',
'SYSTEMROOT': 'C:\\Windows', 'TEMP': 'C:\\Users\\m\\AppData\\Local\
\Temp', 'TMP': 'C:\\Users\\m\\AppData\\Local\\Temp', 'USERDOMAIN': 'm-
PC', 'USERNAME': 'm', 'USERPROFILE': 'C:\\Users\\m',
'VBOX_INSTALL_PATH': 'C:\\Program Files\\Oracle\\VirtualBox\\',
'WINDIR': 'C:\\Windows', 'wsgi.errors': <open file '<stderr>', mode
'w' at 0x01DC40C0>, 'wsgi.file_wrapper': <class
'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input':
<socket._fileobject object at 0x030B4370>, 'wsgi.multiprocess': False,
'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme':
'http', 'wsgi.version': (1, 0)}>,)
func <function changelist_view at 0x02C58EB0>
kwargs2 {}
self <friends.admin.FriendshipRequestAdmin object at 0x02DEFA50>

C:\Python26\lib\site-packages\django\contrib\admin\options.py in
changelist_view
9. action_failed = False9. selected =
request.POST.getlist(helpers.ACTION_CHECKBOX_NAME)9.9. #
Actions with no confirmation9. if (actions and request.method
== 'POST' and9. 'index' in request.POST and '_save' not
in request.POST):9. if selected:
991. response = self.response_action(request,
queryset=cl.get_query_set()) ...9. if response:
9. return response9. else:
9. action_failed = True9. else:
9. msg = _("Items must be selected in order to perform
"
▶ Local vars
Variable Value
ChangeList <class 'django.contrib.admin.views.main.ChangeList'>
ERROR_FLAG 'e'
action_failed False
actions {'accept_friendship': (<unbound method
FriendshipRequestAdmin.accept_friendship>, 'accept_friendship',
<django.utils.functional.__proxy__ object at 0x02DEF8D0>),
'cancel_friendship': (<unbound method
FriendshipRequestAdmin.cancel_friendship>, 'cancel_friendship',
<django.utils.functional.__proxy__ object at 0x02DEF9B0>),
'decline_friendship': (<unbound method
FriendshipRequestAdmin.decline_friendship>, 'decline_friendship',
<django.utils.functional.__proxy__ object at 0x02DEF910>),
'delete_selected': (<function delete_selected at 0x02C5A530>,
'delete_selected', <django.utils.functional.__proxy__ object at
0x02C53FB0>)}
app_label 'friends'
cl <django.contrib.admin.views.main.ChangeList object at 0x03363290>
extra_context None
list_display ['action_checkbox', 'from_user', 'to_user', 'accepted',
'created']
opts <Options for FriendshipRequest>
request <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'action':
[u'accept_friendship'], u'select_across': [u'0'],
u'csrfmiddlewaretoken': [u'946a09f6718e398c74df65dba037cacd'],
u'_selected_action': [u'1'], u'index': [u'0']}>, COOKIES:{'csrftoken':
'946a09f6718e398c74df65dba037cacd', 'sessionid':
'7af3752606301af160ab74c9cf712c82'}, META:{'ALLUSERSPROFILE': 'C:\
\ProgramData', 'APPDATA': 'C:\\Users\\m\\AppData\\Roaming',
'APR_ICONV_PATH': 'C:\\Subversion\\iconv', 'ASL.LOG':
'Destination=file;OnFirstLog=command,environment', 'CLASSPATH': '.;C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'COMMONPROGRAMFILES': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files',
'COMPUTERNAME': 'M-PC', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe',
'CONTENT_LENGTH': '120', 'CONTENT_TYPE': 'application/x-www-form-
urlencoded', 'CSRF_COOKIE': '946a09f6718e398c74df65dba037cacd',
'C_IA64_REDIST11': 'C:\\Program Files (x86)\\Common Files\\Intel\
\Shared Files\\cpp\\', 'DJANGO_SETTINGS_MODULE': 'swift.settings',
'FP_NO_HOST_CHECK': 'NO', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOMEDRIVE':
'C:', 'HOMEPATH': '\\Users\\m', 'HTTP_ACCEPT': 'application/x-ms-
application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg,
application/x-ms-xbap, application/x-shockwave-flash, */*',
'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-
GB', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'Keep-
Alive', 'HTTP_COOKIE': 'sessionid=7af3752606301af160ab74c9cf712c82;
csrftoken=946a09f6718e398c74df65dba037cacd', 'HTTP_HOST':
'127.0.0.1:8000', 'HTTP_REFERER': 'http://127.0.0.1:8000/admin/friends/
friendshiprequest/', 'HTTP_USER_AGENT': 'Mozilla/4.0 (compatible; MSIE
8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR
2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC
6.0; .NET CLR 1.1.4322)', 'LOCALAPPDATA': 'C:\\Users\\m\\AppData\
\Local', 'LOGONSERVER': '\\\\M-PC', 'NUMBER_OF_PROCESSORS': '4', 'OS':
'Windows_NT', 'PATH': 'C:\\Program Files (x86)\\ActiveState Komodo
Edit 5\\;C:\\Program Files (x86)\\Common Files\\Intel\\Shared Files\
\cpp\\bin\\ia64;C:\\Windows\\system32;C:\\Windows;C:\\Windows\
\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\
\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static;C:\\wamp\
\bin\\php\\php5.3.0;C:\\wamp\\www\\framework;C:\\Python26;C:\\Python26\
\Scripts;C:\\Python26\\Lib\\site-packages\\django\\bin;C:\\Subversion\
\bin;C:\\Program Files (x86)\\QuickTime\\QTSystem\\;C:\\Program Files
(x86)\\MKVtoolnix', 'PATHEXT':
'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PATH_INFO':
u'/admin/friends/friendshiprequest/', 'PROCESSOR_ARCHITECTURE': 'x86',
'PROCESSOR_ARCHITEW6432': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64
Family 6 Model 30 Stepping 5, GenuineIntel', 'PROCESSOR_LEVEL': '6',
'PROCESSOR_REVISION': '1e05', 'PROGRAMDATA': 'C:\\ProgramData',
'PROGRAMFILES': 'C:\\Program Files (x86)', 'PROGRAMFILES(X86)': 'C:\
\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PROMPT':
'$P$G', 'PSMODULEPATH': 'C:\\Windows\\system32\\WindowsPowerShell\
\v1.0\\Modules\\', 'PUBLIC': 'C:\\Users\\Public', 'QTJAVA': 'C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '',
'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'',
'SERVER_NAME': 'activate.adobe.com', 'SERVER_PORT': '8000',
'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1
Python/2.6.4', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:',
'SYSTEMROOT': 'C:\\Windows', 'TEMP': 'C:\\Users\\m\\AppData\\Local\
\Temp', 'TMP': 'C:\\Users\\m\\AppData\\Local\\Temp', 'USERDOMAIN': 'm-
PC', 'USERNAME': 'm', 'USERPROFILE': 'C:\\Users\\m',
'VBOX_INSTALL_PATH': 'C:\\Program Files\\Oracle\\VirtualBox\\',
'WINDIR': 'C:\\Windows', 'wsgi.errors': <open file '<stderr>', mode
'w' at 0x01DC40C0>, 'wsgi.file_wrapper': <class
'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input':
<socket._fileobject object at 0x030B4370>, 'wsgi.multiprocess': False,
'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme':
'http', 'wsgi.version': (1, 0)}>
selected [u'1']
self <friends.admin.FriendshipRequestAdmin object at 0x02DEFA50>

C:\Python26\lib\site-packages\django\contrib\admin\options.py in
response_action
10. self.message_user(request, msg)10.
return None10.10. if not select_across:10. #
Perform the action only on the selected objects10.
queryset = queryset.filter(pk__in=selected)10.
749. response = func(self, request, queryset) ...
10.10. # Actions may return an HttpResponse, which will be
used as the10. # response from the POST. If not, we'll be a
good little HTTP10. # citizen and redirect back to the
changelist page.10. if isinstance(response, HttpResponse):
10. return response
▶ Local vars
Variable Value
action u'accept_friendship'
action_form <django.contrib.admin.helpers.ActionForm object at
0x0334E170>
action_index 0
data <QueryDict: {u'action': [u'accept_friendship',
u'accept_friendship'], u'select_across': [u'0'],
u'csrfmiddlewaretoken': [u'946a09f6718e398c74df65dba037cacd']}>
description <django.utils.functional.__proxy__ object at 0x02DEF8D0>
func <unbound method FriendshipRequestAdmin.accept_friendship>
name 'accept_friendship'
queryset [<FriendshipRequest: admin wants to be friends with jim>]
request <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'action':
[u'accept_friendship'], u'select_across': [u'0'],
u'csrfmiddlewaretoken': [u'946a09f6718e398c74df65dba037cacd'],
u'_selected_action': [u'1'], u'index': [u'0']}>, COOKIES:{'csrftoken':
'946a09f6718e398c74df65dba037cacd', 'sessionid':
'7af3752606301af160ab74c9cf712c82'}, META:{'ALLUSERSPROFILE': 'C:\
\ProgramData', 'APPDATA': 'C:\\Users\\m\\AppData\\Roaming',
'APR_ICONV_PATH': 'C:\\Subversion\\iconv', 'ASL.LOG':
'Destination=file;OnFirstLog=command,environment', 'CLASSPATH': '.;C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'COMMONPROGRAMFILES': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files',
'COMPUTERNAME': 'M-PC', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe',
'CONTENT_LENGTH': '120', 'CONTENT_TYPE': 'application/x-www-form-
urlencoded', 'CSRF_COOKIE': '946a09f6718e398c74df65dba037cacd',
'C_IA64_REDIST11': 'C:\\Program Files (x86)\\Common Files\\Intel\
\Shared Files\\cpp\\', 'DJANGO_SETTINGS_MODULE': 'swift.settings',
'FP_NO_HOST_CHECK': 'NO', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOMEDRIVE':
'C:', 'HOMEPATH': '\\Users\\m', 'HTTP_ACCEPT': 'application/x-ms-
application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg,
application/x-ms-xbap, application/x-shockwave-flash, */*',
'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-
GB', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'Keep-
Alive', 'HTTP_COOKIE': 'sessionid=7af3752606301af160ab74c9cf712c82;
csrftoken=946a09f6718e398c74df65dba037cacd', 'HTTP_HOST':
'127.0.0.1:8000', 'HTTP_REFERER': 'http://127.0.0.1:8000/admin/friends/
friendshiprequest/', 'HTTP_USER_AGENT': 'Mozilla/4.0 (compatible; MSIE
8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR
2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC
6.0; .NET CLR 1.1.4322)', 'LOCALAPPDATA': 'C:\\Users\\m\\AppData\
\Local', 'LOGONSERVER': '\\\\M-PC', 'NUMBER_OF_PROCESSORS': '4', 'OS':
'Windows_NT', 'PATH': 'C:\\Program Files (x86)\\ActiveState Komodo
Edit 5\\;C:\\Program Files (x86)\\Common Files\\Intel\\Shared Files\
\cpp\\bin\\ia64;C:\\Windows\\system32;C:\\Windows;C:\\Windows\
\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\
\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static;C:\\wamp\
\bin\\php\\php5.3.0;C:\\wamp\\www\\framework;C:\\Python26;C:\\Python26\
\Scripts;C:\\Python26\\Lib\\site-packages\\django\\bin;C:\\Subversion\
\bin;C:\\Program Files (x86)\\QuickTime\\QTSystem\\;C:\\Program Files
(x86)\\MKVtoolnix', 'PATHEXT':
'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PATH_INFO':
u'/admin/friends/friendshiprequest/', 'PROCESSOR_ARCHITECTURE': 'x86',
'PROCESSOR_ARCHITEW6432': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64
Family 6 Model 30 Stepping 5, GenuineIntel', 'PROCESSOR_LEVEL': '6',
'PROCESSOR_REVISION': '1e05', 'PROGRAMDATA': 'C:\\ProgramData',
'PROGRAMFILES': 'C:\\Program Files (x86)', 'PROGRAMFILES(X86)': 'C:\
\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PROMPT':
'$P$G', 'PSMODULEPATH': 'C:\\Windows\\system32\\WindowsPowerShell\
\v1.0\\Modules\\', 'PUBLIC': 'C:\\Users\\Public', 'QTJAVA': 'C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '',
'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'',
'SERVER_NAME': 'activate.adobe.com', 'SERVER_PORT': '8000',
'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1
Python/2.6.4', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:',
'SYSTEMROOT': 'C:\\Windows', 'TEMP': 'C:\\Users\\m\\AppData\\Local\
\Temp', 'TMP': 'C:\\Users\\m\\AppData\\Local\\Temp', 'USERDOMAIN': 'm-
PC', 'USERNAME': 'm', 'USERPROFILE': 'C:\\Users\\m',
'VBOX_INSTALL_PATH': 'C:\\Program Files\\Oracle\\VirtualBox\\',
'WINDIR': 'C:\\Windows', 'wsgi.errors': <open file '<stderr>', mode
'w' at 0x01DC40C0>, 'wsgi.file_wrapper': <class
'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input':
<socket._fileobject object at 0x030B4370>, 'wsgi.multiprocess': False,
'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme':
'http', 'wsgi.version': (1, 0)}>
select_across False
selected [u'1']
self <friends.admin.FriendshipRequestAdmin object at 0x02DEFA50>

C:\django\swift\friends\admin.py in accept_friendship
11. date_hierarchy = 'created'11. list_display = ('from_user',
'to_user', 'accepted', 'created')11. list_filter =
('accepted',)11. actions = ('accept_friendship',
'decline_friendship', 'cancel_friendship')11.11. def
accept_friendship(self, request, queryset):11. for
friendship_request in queryset:
14. friendship_request.accept() ...11.
accept_friendship.short_description = _(u'Accept selected friendship '
\11. u'requests')11.11.
def decline_friendship(self, request, queryset):11. for
friendship_request in queryset:11.
friendship_request.decline()
▶ Local vars
Variable Value
friendship_request <FriendshipRequest: admin wants to be friends with
jim>
queryset [<FriendshipRequest: admin wants to be friends with jim>]
request <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'action':
[u'accept_friendship'], u'select_across': [u'0'],
u'csrfmiddlewaretoken': [u'946a09f6718e398c74df65dba037cacd'],
u'_selected_action': [u'1'], u'index': [u'0']}>, COOKIES:{'csrftoken':
'946a09f6718e398c74df65dba037cacd', 'sessionid':
'7af3752606301af160ab74c9cf712c82'}, META:{'ALLUSERSPROFILE': 'C:\
\ProgramData', 'APPDATA': 'C:\\Users\\m\\AppData\\Roaming',
'APR_ICONV_PATH': 'C:\\Subversion\\iconv', 'ASL.LOG':
'Destination=file;OnFirstLog=command,environment', 'CLASSPATH': '.;C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'COMMONPROGRAMFILES': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files',
'COMPUTERNAME': 'M-PC', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe',
'CONTENT_LENGTH': '120', 'CONTENT_TYPE': 'application/x-www-form-
urlencoded', 'CSRF_COOKIE': '946a09f6718e398c74df65dba037cacd',
'C_IA64_REDIST11': 'C:\\Program Files (x86)\\Common Files\\Intel\
\Shared Files\\cpp\\', 'DJANGO_SETTINGS_MODULE': 'swift.settings',
'FP_NO_HOST_CHECK': 'NO', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOMEDRIVE':
'C:', 'HOMEPATH': '\\Users\\m', 'HTTP_ACCEPT': 'application/x-ms-
application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg,
application/x-ms-xbap, application/x-shockwave-flash, */*',
'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-
GB', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'Keep-
Alive', 'HTTP_COOKIE': 'sessionid=7af3752606301af160ab74c9cf712c82;
csrftoken=946a09f6718e398c74df65dba037cacd', 'HTTP_HOST':
'127.0.0.1:8000', 'HTTP_REFERER': 'http://127.0.0.1:8000/admin/friends/
friendshiprequest/', 'HTTP_USER_AGENT': 'Mozilla/4.0 (compatible; MSIE
8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR
2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC
6.0; .NET CLR 1.1.4322)', 'LOCALAPPDATA': 'C:\\Users\\m\\AppData\
\Local', 'LOGONSERVER': '\\\\M-PC', 'NUMBER_OF_PROCESSORS': '4', 'OS':
'Windows_NT', 'PATH': 'C:\\Program Files (x86)\\ActiveState Komodo
Edit 5\\;C:\\Program Files (x86)\\Common Files\\Intel\\Shared Files\
\cpp\\bin\\ia64;C:\\Windows\\system32;C:\\Windows;C:\\Windows\
\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\
\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static;C:\\wamp\
\bin\\php\\php5.3.0;C:\\wamp\\www\\framework;C:\\Python26;C:\\Python26\
\Scripts;C:\\Python26\\Lib\\site-packages\\django\\bin;C:\\Subversion\
\bin;C:\\Program Files (x86)\\QuickTime\\QTSystem\\;C:\\Program Files
(x86)\\MKVtoolnix', 'PATHEXT':
'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PATH_INFO':
u'/admin/friends/friendshiprequest/', 'PROCESSOR_ARCHITECTURE': 'x86',
'PROCESSOR_ARCHITEW6432': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64
Family 6 Model 30 Stepping 5, GenuineIntel', 'PROCESSOR_LEVEL': '6',
'PROCESSOR_REVISION': '1e05', 'PROGRAMDATA': 'C:\\ProgramData',
'PROGRAMFILES': 'C:\\Program Files (x86)', 'PROGRAMFILES(X86)': 'C:\
\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PROMPT':
'$P$G', 'PSMODULEPATH': 'C:\\Windows\\system32\\WindowsPowerShell\
\v1.0\\Modules\\', 'PUBLIC': 'C:\\Users\\Public', 'QTJAVA': 'C:\
\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip',
'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_HOST': '',
'REQUEST_METHOD': 'POST', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'',
'SERVER_NAME': 'activate.adobe.com', 'SERVER_PORT': '8000',
'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1
Python/2.6.4', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:',
'SYSTEMROOT': 'C:\\Windows', 'TEMP': 'C:\\Users\\m\\AppData\\Local\
\Temp', 'TMP': 'C:\\Users\\m\\AppData\\Local\\Temp', 'USERDOMAIN': 'm-
PC', 'USERNAME': 'm', 'USERPROFILE': 'C:\\Users\\m',
'VBOX_INSTALL_PATH': 'C:\\Program Files\\Oracle\\VirtualBox\\',
'WINDIR': 'C:\\Windows', 'wsgi.errors': <open file '<stderr>', mode
'w' at 0x01DC40C0>, 'wsgi.file_wrapper': <class
'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input':
<socket._fileobject object at 0x030B4370>, 'wsgi.multiprocess': False,
'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme':
'http', 'wsgi.version': (1, 0)}>
self <friends.admin.FriendshipRequestAdmin object at 0x02DEFA50>

C:\django\swift\friends\models.py in accept
12.12. def __unicode__(self):12. return _(u'%(from_user)s
wants to be friends with %(to_user)s') % \12.
{'from_user': unicode(self.from_user),12.
'to_user': unicode(self.to_user)}12.12. def accept(self):
27. Friendship.objects.befriend(self.from_user,
self.to_user) ...12. self.accepted = True12.
self.save()12.
signals.friendship_accepted.send(sender=self)12.12. def
decline(self):12. signals.friendship_declined.send(sender=self,
cancelled=False)
▶ Local vars
Variable Value
self <FriendshipRequest: admin wants to be friends with jim>

C:\django\swift\friends\models.py in befriend
13. return qs13.13. def are_friends(self, user1, user2):
13. return
bool(Friendship.objects.get(user=user1).friends.filter(13.
user=user2).count())13.13. def befriend(self, user1, user2):
53. Friendship.objects.get(user=user1).friends.add( ...
13.
Friendship.objects.get(user=user2))13.13. def unfriend(self, user1,
user2):13.
Friendship.objects.get(user=user1).friends.remove(13.
Friendship.objects.get(user=user2))13.
▶ Local vars
Variable Value
self <friends.models.FriendshipManager object at 0x02D18E10>
user1 <User: admin>
user2 <User: jim>

C:\Python26\lib\site-packages\django\db\models\manager.py in get
14. def distinct(self, *args, **kwargs):14. return
self.get_query_set().distinct(*args, **kwargs)14.14. def
extra(self, *args, **kwargs):14. return
self.get_query_set().extra(*args, **kwargs)14.14. def get(self,
*args, **kwargs):
132. return self.get_query_set().get(*args, **kwargs) ...
14.14. def get_or_create(self, **kwargs):14. return
self.get_query_set().get_or_create(**kwargs)14.14. def create(self,
**kwargs):14. return self.get_query_set().create(**kwargs)
▶ Local vars
Variable Value
args ()
kwargs {'user': <User: admin>}
self <friends.models.FriendshipManager object at 0x02D18E10>

C:\Python26\lib\site-packages\django\db\models\query.py in get
15. if self.query.can_filter():15. clone =
clone.order_by()15. num = len(clone)15. if num ==
1:15. return clone._result_cache[0]15. if not num:
15. raise self.model.DoesNotExist("%s matching query does
not exist."
341. % self.model._meta.object_name) ...

Anyone who has experience using this app or setting up django-friends,
is greatly appreciated
Reply all
Reply to author
Forward
0 new messages