Reputation: 51
Django messages app is suddenly showing following error:
AttributeError at /user_logout/
'function' object has no attribute 'add_message'
Request Method: GET
Request URL: http://127.0.0.1:8080/user_logout/
Django Version: 1.5.5
Exception Type: AttributeError
Exception Value:
**'function' object has no attribute 'add_message'**
Exception Location: F:\mysite\myproj\myapp\views.py in user_logout, line 185
Python Executable: F:\mysite\env\Scripts\python.exe
Python Version: 2.7.3
I have no idea why is it showing this error.
def user_logout(request):
r_user = RU.objects.get(id=request.session['somekey'])
try:
del request.session['somekey']
r_user.logout_ts = datetime.datetime.now()
r_user.save()
messages.add_message(request, messages.INFO, 'Logged out!')
return HttpResponseRedirect("/")
except KeyError:
messages.add_message(request, messages.INFO, 'You are not Logged in!')
return HttpResponseRedirect("/")
settings.py
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
TEMPLATE_CONTEXT_PROCESSORS = {
'myproj.context_processors.which_page',
'myproj.context_processors.user_context',
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.request',
'django.contrib.messages.context_processors.messages',
}
Everything was working fine last night. But today it's shows above mentioned error. Anybody has any idea why could this be? I tried searching but it seems no one has encountered such abrupt behavior. Also FYI, I closed the cmd prompt without deactivating the virtualenv I don't know how could this affect the functionality but just in case if it does.
Thanks in advance.
Upvotes: 2
Views: 1668
Reputation: 599480
You probably have a function called messages()
in the same file as your user_messages
view.
Upvotes: 7