【问题标题】:Django (mod_wsgi) - HttpBasicAuthentication using view decorator - AttributeErrorDjango (mod_wsgi) - 使用视图装饰器的 HttpBasicAuthentication - AttributeError
【发布时间】:2013-07-23 21:03:40
【问题描述】:

我正在编写一个小应用程序。我希望使用我找到的视图装饰器。 这是the snippet,这是a post describing its usage。 我有一个 Apache 服务器 (2.2) 正在运行,并且 Django 是最新的。 我装饰了一个视图,当尝试获取它时,发生了 AttributeError:

Request Method: GET
Request URL: http://localhost/redb/test/

Django Version: 1.5.1
Python Version: 2.7.5
Installed Applications:
('django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.admin',
 'django.contrib.admindocs',
 'redb_app')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware')

Traceback:
File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response
  187.                 response = middleware_method(request, response)
File "C:\Python27\lib\site-packages\django\middleware\common.py" in process_response
  109.         if response.status_code == 404:

Exception Type: AttributeError at /redb/test/
Exception Value: 'function' object has no attribute 'status_code'

这就是我的使用方式:

@logged_in_or_basicauth
def test_handler(request):
    return HttpResponse("Test!")

谢谢!

【问题讨论】:

    标签: django apache http authentication decorator


    【解决方案1】:

    装饰器接受一个参数,所以你必须调用装饰器,即使你不提供参数realm并让它默认为“”。

    @logged_in_or_basicauth()
    def test_handler(request):
        return HttpResponse("Test!")
    

    【讨论】:

      猜你喜欢
      • 2012-05-03
      • 2010-12-11
      • 2018-10-18
      • 1970-01-01
      • 2014-06-07
      • 2016-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多