0

은 (라고 testapp를)은장고 일반적인 로그인보기 리턴 '객체 STR하지 호출'오류

from django.conf.urls import patterns, include, url 
from testapp.forms import UsersForm 

urlpatterns = patterns('', 
    url(r'^$', 'django.contrib.auth.views.login', {'template_name': 'testapp/templates/login.html', 'authentication_form':'UsersForm'}), 
) 

내 MyProject를하다 MyProject를 나의 urls.py이

from django.conf.urls import patterns, include, url 
from testapp import urls 

urlpatterns = patterns('', 
    url(r'^', include(urls)), 
) 

및을 myApp 내 urls.py한다 내가의 runserver와 127.0.0.1에 갈 때 /templates/login.html는

을 말한다 지금

 <form method="post" action="{% url 'django.contrib/auth.views.login' %}">{% csrf_token%} 
      {{form.username.label_tag}} 
      {{form.username}} 
      {{form.password.label_tag}} 
      {{form.password}} 
     <input type="submit" value="login" /> 
     <input type="hidden" name="next" value="{{ next }}" /> 
     </form> 

입니다

TypeError at/

'str' object is not callable 
Request Method: GET 
Request URL: http://127.0.0.1:8000/ 
Django Version: 1.5.2 
Exception Type: TypeError 
Exception Value:  
'str' object is not callable 
Exception Location: /usr/local/lib/python2.7/dist-packages/django/contrib/auth/views.py in login, line 53 
Traceback: 
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response 
    115.       response = callback(request, *callback_args, **callback_kwargs) 
File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/debug.py" in sensitive_post_parameters_wrapper 
    69.    return view(request, *args, **kwargs) 
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapped_view 
    91.      response = view_func(request, *args, **kwargs) 
File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/cache.py" in _wrapped_view_func 
    89.   response = view_func(request, *args, **kwargs) 
File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/views.py" in login 
    53.   form = authentication_form(request) 

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

저는 django가 제공하는 일반 로그인보기를 사용하고 있습니다. 일반 로그인보기의 53 행에서 오류가 발생하는 이유는 무엇입니까? 내 urls.py에서 'authentication_form'을 지정했습니다 : 'UsersForm'. UsersForm을 잘못 가져 왔습니까?

답변

2

토마스의 답변을 삭제하는 것이 옳습니다.

from testapp.forms import UsersForm 
url(r'^$', 'django.contrib.auth.views.login', {'template_name': 'testapp/templates/login.html', 'authentication_form':UsersForm}), 
2

"authentication_form"의 실제 양식 클래스를 "UsersForm"이 아닌 이름으로 전달해야합니다.

+0

흠 당신은 무엇을 의미합니까 :
은 양식 자체가 아닌 문자열을 전달? 내 클래스는 Users라는 모델에서 UsersForm이라고합니다. "클래스 UsersForm (forms.ModelForm) : 클래스 메타 : \t model = Users" – user2817200

관련 문제