我正在使用Django == 1.6并且我在使用django消息时遇到了一些奇怪的错误
我得到的错误是:
TypeError 'tuple' object is not callable
据报道,问题在于:
messages.success(request, 'whatever message I am trying to display')
我从4个不同的视图中收到此错误。其中一些视图位于不同的应用程序中。
in some_app.views
...
from django.contrib import messages
...
def foo(request):
...
if not worker.profile_complete and worker.is_profile_complete:
worker.profile_complete = True
worker.save()
messages.success(request, 'Your profile is now complete')
success_url = reverse('worker_complete')
in some_other_app.views
...
from django.contrib import messages
...
def bar(request):
....
form = VerificationForm(data=request.REQUEST or None)
if form.is_valid():
if request.user.verification.code == form.cleaned_data['code'].upper():
verification.verified = timezone.now()
verification.save()
messages.success(request, 'Your account has been verified via SMS')
这个错误让我很难过。我有时只能在生产服务器上重现它。我无法在本地重现它。
非常感谢任何想法。
此处提供回溯:http://pastebin.com/efTW1EhP
答案 0 :(得分:2)
检查以确保没有用代码库中某处的元组覆盖messages.success
。例如,您可能已经完成了:
messages.success = (request, 'success message')
这可能是您项目中的任何位置,而不仅仅是您在上面显示的视图中。