2016-10-21 2 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" 

저장에이 오류 올립니다 : 내가 실수로 messages을 사용하는 경우

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'하지만 당신이 우리를 보이고있다'CampanaNueva'에서 형식 오류 '에 관한 것입니다 이 관점에서 그 문제가 확실한가요? –

답변

1

내가 정확히 같은 메시지를 받았습니다를 프로젝트에서 완전히 다른보기의 form_valid 메서드에서 프레임 워크가 잘못되었습니다. 그러나

messages.success = "Deactivated product"

이 코드는 작동하지 않습니다 내가 대신 쓴 것을

messages.success(request, "Deactivated product")

했지만, 그것은 발생하지 않습니다

올바른 코드가 있었어야 오류! 그러나 을 사용하는 다른 양식을 제출하면 바로 'str' object is not callable 오류가 표시됩니다.

(한 페이지에 문제가 완전히 다른 페이지에 오류가 발생할 수있는 것은 디버깅 재미 있었다.)

+0

동일한 오류가 발생했습니다. – paralosreg

관련 문제