int()参数必须是字符串或数字,而不是django消息中的“函数”

时间:2013-08-19 13:06:14

标签: django messages

我正在尝试在我的视图中使用messages framework,但它显示以下错误

views.py

def gcontacts(request):
    error = True
    if request.method == 'POST':
        if request.POST.has_key('wow'):
            error = False
            messages.add_message(request, messages.success, 'Wow key exists !!!!')
        else:
            error = True
    return render_to_response('key_exists.html', {'error':error}, context_instance=RequestContext(request))

错误

Traceback (most recent call last):
  File "/home/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 115, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File "/home/Envs/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 25, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/home/virtualenvironment/apps/myapp/views.py", line 33, in gcontacts
    messages.add_message(request, messages.success, 'Wow key exists !!!!')
  File "/home/Envs/local/lib/python2.7/site-packages/django/contrib/messages/api.py", line 20, in add_message
    return request._messages.add(level, message, extra_tags)
  File "/home/Envs/local/lib/python2.7/site-packages/django/contrib/messages/storage/base.py", line 153, in add
    level = int(level)
TypeError: int() argument must be a string or a number, not 'function'

有人可以让我知道我在上面的代码中做错了吗?

1 个答案:

答案 0 :(得分:3)

k完成了一分钟错误,

实际上messages.success应该是messages.SUCCESS,这样才有用!!!!