django 加入装饰器之后出现 view must be a callable or a list/tuple in the case of include().')

2017-12-23 15:48:41 +08:00
 kkjj

django 加入装饰器之后出现 view must be a callable or a list/tuple in the case of include().')的错误,把装饰器注释掉又恢复正常,有没人知道这是怎么回事

3044 次点击
所在节点    Python
8 条回复
Zioyi
2017-12-23 16:30:11 +08:00
看你代码,加了什么装饰器
kkjj
2017-12-23 16:56:51 +08:00
@Zioyi
#@user_decorator.login
def user_center_order(request):
context={
'title':"订单中心"
}
return render(request,'df_user/user_center_order.html',context)
增加了验证用户登录的装饰器
装饰器如下:
def login(func):
def login_fun(request,*args,**kwargs):
if request.session.has_key('user_id'):
return func(request,*args,**kwargs)
else:
red=HttpResponseRedirect('user/login/')
red.set_cookie('url',request.get_full_path())
return red
return login_fun
wangyongbo
2017-12-23 21:22:51 +08:00
从代码里面看不出来错误, 实际测试了一下, 也没有问题呀。
Ehco1996
2017-12-24 06:41:37 +08:00
Django 有自带的等级权限装饰器

login_required
Zioyi
2017-12-24 15:31:43 +08:00
@kkjj 你的路由怎么写的
kkjj
2017-12-24 16:17:41 +08:00
@Zioyi 谷歌了,说路由不能用字符串了,改了还是出现一样的问题
kkjj
2017-12-24 16:20:04 +08:00
@Ehco1996 学习了
kkjj
2017-12-24 16:21:13 +08:00
@wangyongbo 所以觉得奇怪,把装饰器注释掉就没有报错

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/417072

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX