2013-03-22 3 views
0

Привет, я пытаюсь запустить некоторый python/django в среде windows iis 7.5. После запуска сервера (localhost: 8888) я получаю следующую ошибку. Эта ошибка генерируется только после доступа к localhost: 8888.WSGI - Attribute no 'user' Error

File "C:\Python27\lib\site-packages\django-1.5-py2.7.egg\django\core\handlers\ 
base.py", line 224, in handle_uncaught_exception 
    return callback(request, **param_dict) 
    File "C:\Python27\lib\site-packages\django-1.5-py2.7.egg\django\utils\decorato 
    rs.py", line 91, in _wrapped_view 
    response = view_func(request, *args, **kwargs) 
    File "C:\Python27\lib\site-packages\ecm-2.1.2-py2.7.egg\ecm\views\custom_handl 
    ers.py", line 22, in server_error 
     http.HttpResponseServerError(t.render(RequestContext(request))) 
    File "C:\Python27\lib\site-packages\django-1.5-py2.7.egg\django\template\conte 
    xt.py", line 179, in __init__ 
    self.update(processor(request)) 
    File "C:\Python27\lib\site-packages\ecm-2.1.2-py2.7.egg\ecm\views\context_proc 
    essors.py", line 55, in menu 
    if request.user.is_superuser or UrlPermission.user_has_access(request.user, 
    menu['url']): 
    AttributeError: 'WSGIRequest' object has no attribute 'user' 
    <WSGIServer fileno=552 address=127.0.0.1:8888>: Failed to handle request: 
    request = GET /favicon.ico HTTP/1.1 from ('127.0.0.1', 50325) 
    application = <django.core.handlers.wsgi.WSGIHandler object at 0x022CDCB0> 

Я посмотрел вокруг и Trie dmany из предложенных решений - мой промежуточный слой в Джанго выглядит следующим образом.

MIDDLEWARE_CLASSES = (

    'django.middleware.common.CommonMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    # Uncomment the next line for simple clickjacking protection: 
    # 'django.middleware.clickjacking.XFrameOptionsMiddleware', 
) 

Вот код, который ссылается на строку request.user.

def menu(request): 
""" 
Adds the variable {{ user_menu }} to all the templates. 

The menu is composed with items from each ECM app/plugin (see the menu.py files) 
The items are dynamically displayed according to user accesses. 
""" 
user_menus = [] 
for menu in ECM_MENUS: 
    if request.user.is_superuser or UrlPermission.user_has_access(request.user,  menu['url']): 
     user_menus.append(menu) 
data = { 
    'menus': user_menus, 
    'path': str(request.get_full_path()) 
} 
return {'user_menu': render_to_string('ecm/menu.html', data), 'request_path':  data['path']} 

Любые мысли?

+0

Я не думаю, что это имеет какое-либо отношение к вашему промежуточному программному обеспечению, хотя я не специалист по джанго. Можете ли вы опубликовать код, на который вы ссылаетесь «пользователь»? – John

+0

Просто большой догадкой, поскольку я не знаком с тем, откуда приходит пользователь, но, возможно, для повторной заявки необходимо переустановить аутентификацию и сеанс связи. – baloo

+0

@johnthexiii - из трассировки ошибка поднимается пакетом «ecm» (googled it: «EVE Corp Management - это вспомогательное приложение для управления и принятия решений для EVE Online»). Не слышал об этом раньше ... – isedev

ответ

0

У меня тоже была эта проблема. Установите Debug в True в settings.ini.