Django TypeError: logout() takes at least 1 argument (1 given)

Django TypeError: logout() takes at least 1 argument (1 given)

我不明白为什么这个 url 给我一个错误:

from django.contrib.auth import views as auth_views
from django.core.urlresolvers import reverse_lazy

...
url(r'^logout/$', auth_views.logout(next_page=reverse_lazy("dashboard:operations_login")), name="operations_logout"),
...

错误是:

Django TypeError: logout() takes at least 1 argument (1 given)

您在 url 定义中直接调用注销视图。

如果你需要传递参数,你应该在单独的字典中进行:

url(r'^logout/$',
    auth_views.logout,
    {'next_page': reverse_lazy("dashboard:operations_login")},
    name="operations_logout"),