Jatinder
Jatinder

Reputation: 51

Django Messages suddenly not working

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

Answers (1)

Daniel Roseman
Daniel Roseman

Reputation: 599480

You probably have a function called messages() in the same file as your user_messages view.

Upvotes: 7

Related Questions