Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么我会得到;属性错误:';unicode';对象没有属性';用户'&引用;在某些情况下,是否仅指定url?_Python_Django_Login Required - Fatal编程技术网

Python 为什么我会得到;属性错误:';unicode';对象没有属性';用户'&引用;在某些情况下,是否仅指定url?

Python 为什么我会得到;属性错误:';unicode';对象没有属性';用户'&引用;在某些情况下,是否仅指定url?,python,django,login-required,Python,Django,Login Required,从第一天开始,我就在我的项目中使用@login\u required decorator,它工作得很好,但出于某种原因,我开始得到” AttributeError:“unicode”对象在某些特定URL(以及过去使用的URL)上没有“user”属性 示例:我是网站,已登录,然后单击链接,我得到的错误通常与未安装SessionMiddleware的事实有关。但在我的情况下,有一个,因为我登录的网站和我的网页上也有一个@login_需要 有什么想法吗 url定义为:(r'^accept/(?p[a-

从第一天开始,我就在我的项目中使用@login\u required decorator,它工作得很好,但出于某种原因,我开始得到” AttributeError:“unicode”对象在某些特定URL(以及过去使用的URL)上没有“user”属性

示例:我是网站,已登录,然后单击链接,我得到的错误通常与未安装SessionMiddleware的事实有关。但在我的情况下,有一个,因为我登录的网站和我的网页上也有一个@login_需要

有什么想法吗

url定义为:
(r'^accept/(?p[a-zA-Z0-9_-]+)?$,'accept'),
方法为:
@login\u required
def接受(请求、令牌):…

回溯:

Traceback (most recent call last):
  File "/Users/macbook/virtualenv/proj/lib/python2.6/site-packages/django/core/servers/basehttp.py", line 674, in __call__
    return self.application(environ, start_response)
  File "/Users/macbook/virtualenv/proj/lib/python2.6/site-packages/django/core/handlers/wsgi.py", line 241, in __call__
    response = self.get_response(request)
  File "/Users/macbook/virtualenv/proj/lib/python2.6/site-packages/django/core/handlers/base.py", line 141, in get_response
    return self.handle_uncaught_exception(request, resolver, sys.exc_info())
  File "/Users/macbook/virtualenv/proj/lib/python2.6/site-packages/django/core/handlers/base.py", line 165, in handle_uncaught_exception
    return debug.technical_500_response(request, *exc_info)
  File "/Users/macbook/virtualenv/proj/lib/python2.6/site-packages/django/core/handlers/base.py", line 100, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File "/Users/macbook/virtualenv/proj/lib/python2.6/site-packages/django/contrib/auth/decorators.py", line 25, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/Users/macbook/dev/pycharm-projects/proj/match/views.py", line 33, in accept
    return __process(token,callback)
  File "/Users/macbook/virtualenv/proj/lib/python2.6/site-packages/django/contrib/auth/decorators.py", line 24, in _wrapped_view
    if test_func(request.user):
AttributeError: 'unicode' object has no attribute 'user'`

decorator使用的私有方法没有将请求作为参数。我移除了那个装饰器(因为重构和缺乏测试[bad me])


问题已解决。

如果您从另一个方法调用修饰的方法而不提供请求参数,也可能发生这种情况。

您可以发布AttributeError的回溯吗?似乎有些代码正在访问
request.user
,而request实际上是某个unicode对象。