myProject の私の urls.py は
from django.conf.urls import patterns, include, url
from testapp import urls
urlpatterns = patterns('',
url(r'^', include(urls)),
)
そしてmyAppの私のurls.py(testappと呼ばれる)は
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/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>
ここで、server を実行して 127.0.0.1 に移動すると、
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 を正しくインポートしていませんか?