我对@login_required装饰者有几个看法。我将使用 django.core.urlresolvers.reverse() 函数重定向到它们。
我在 urls.py 中写道:
urlpatterns = ('myapp.views',
'^(?P<key>[-a-zA-Z0-9]+)/some-operation/$', 'some_operation'),
)
在views.py中:
return HttpResponseRedirect(
reverse('myapp.views.some_operation', kwargs={'key': item.key})
)
使得some_operation视图函数具有@login_required装饰器。
Django 显示以下错误:
Reverse for '<django.contrib.auth.decorators._CheckLogin object at 0x866782c>' with arguments '()' and keyword arguments '{'key': u'ab9d7x'}' not found.
似乎 Django 正在尝试为 login_required 装饰器函数找到反向匹配。如何避免这个问题?