python和django都很新,請原諒我,如果這是一個新手問題。嘗試擴展時出錯django.contrib.auth.views.login
我想弄清楚如何在django.contrib.auth.login中擴展功能。我正在採取的第一步是簡單地使用我自己的函數登錄行爲,但不會添加任何新行爲。我的項目名稱是testproject。
在testproject/testproject/urls.py:
urlpatterns = patterns('',
(r'^login$', 'auth.views.login_user'),
)
在testproject /認證/ views.py:
from django.contrib.auth import login
def login_user(request, template_name='registration/login.html'):
return login(request, template_name)
然而,這給我下面的錯誤:
Traceback:
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "/home/user/src/testproject/auth/views.py" in login_user
4. return login(request, template_name)
File "/usr/lib/python2.7/dist-packages/django/contrib/auth/__init__.py" in login
72. request.session[SESSION_KEY] = user.id
Exception Type: AttributeError at /login/
Exception Value: 'str' object has no attribute 'id'
如果我再次ce auth.views.login_user
與django.contrib.auth.views.login
,一切工作正常。我很難過,我做錯了什麼?還是我以錯誤的方式接近整個問題?
'登錄()'需要一個'request'和'user'對象作爲參數。不是'user'對象,而是給出了一個字符串(模板名稱)。因此,代碼嘗試訪問「用戶」對象的屬性時出錯。 –