2016-10-21 11 views
0

SuccessMessageMixinのプロジェクトでこのエラーが発生し、その理由がわかりません。これは私のview.pyのコードです。'str'オブジェクトは呼び出し可能ではありません - SuccessMessageMixin

from django.contrib.messages.views import SuccessMessageMixin 
from django.views.generic import CreateView 

class CampanaNueva(SuccessMessageMixin, CreateView): 
    model = Campana 
    template_name = "licencias_campana_nueva.html" 
    fields = ['temporada', 'descripcion'] 
    success_message = "a" 

とセーブにこのエラーレイズ:

Environment: 


Request Method: POST 
Request URL: http://127.0.0.1:8000/licencias/editar/1 

Django Version: 1.9.4 
Python Version: 3.4.4 
Installed Applications: 
['django.contrib.admin', 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'bootstrap3', 
'home', 
'widget_tweaks', 
'socios', 
'equipaciones', 
'licencias'] 
Installed Middleware: 
['django.middleware.security.SecurityMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.common.CommonMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'django.middleware.clickjacking.XFrameOptionsMiddleware', 
'cc_corbelo.middleware.LoginRequiredMiddleware'] 



Traceback: 

File "C:\Python34\lib\site-packages\django\core\handlers\base.py" in get_response 
    149.      response = self.process_exception_by_middleware(e, request) 

File "C:\Python34\lib\site-packages\django\core\handlers\base.py" in get_response 
    147.      response = wrapped_callback(request, *callback_args, **callback_kwargs) 

File "C:\Python34\lib\site-packages\django\views\generic\base.py" in view 
    68.    return self.dispatch(request, *args, **kwargs) 

File "C:\Python34\lib\site-packages\django\views\generic\base.py" in dispatch 
    88.   return handler(request, *args, **kwargs) 

File "C:\Python34\lib\site-packages\django\views\generic\edit.py" in post 
    279.   return super(BaseUpdateView, self).post(request, *args, **kwargs) 

File "C:\Python34\lib\site-packages\django\views\generic\edit.py" in post 
    222.    return self.form_valid(form) 

File "C:\Python34\lib\site-packages\django\contrib\messages\views.py" in form_valid 
    14.    messages.success(self.request, success_message) 

Exception Type: TypeError at /licencias/editar/1 
Exception Value: 'str' object is not callable 

を私は、この機能は問題なく、別のプロジェクトで働いてい...

+1

エラー/ licencias/editar/1'ではTypeError 'についてですが、あなたは、' CampanaNueva'を私たちにしている示していますあなたは確かにこのビューの問題? –

答えて

1

私は誤ってmessagesを使用したとき、私はまさにこれと同じメッセージが表示されました私のプロジェクトで完全に異なるビューのフレームワークが正しくありません。しかし

messages.success = "Deactivated product"

このコードは動作しません、私が代わりに書いていたものを

messages.success(request, "Deactivated product")

だったが、それは発生しません:

正しいコードはされている必要がありますいずれかのページでエラーが発生しました。しかし、SuccessMessageMixinを使用して異なるフォームを提出するとすぐに、'str' object is not callableというエラーが表示されます。

(1ページに問題が完全に別のページにエラーを起こすには、デバッグに楽しかったです。)

+0

私は同じエラーがありました – paralosreg

関連する問題