Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » толи лыжи не едут... не получается победить login_required [RSS Feed]

#1 Окт. 30, 2007 16:16:11

/zzz
От:
Зарегистрирован: 2007-10-30
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

толи лыжи не едут... не получается победить login_required

Никак не могу заставить работать декоратор login_required.
вроде все делаю как написано в тьюториалах, однако
при заходе незалогиненого пользователя стабольно получаю:

Unhandled Exception

An unhandled exception was thrown by the application.
при этом в логах:
2007/10/30 17:07:41 [error] 97235#0: *1101152 FastCGI sent in stderr: "" while reading response header from upstream, client: 213.85.226.2, server: oldiplus.ru, URL: "/accounts/login/?next=/zakaz/", upstream: "fastcgi://unix:/export/home/dj/var/fcgi/dj_oldiplus", host: "oldiplus.ru"
2007/10/30 17:07:41 [error] 97235#0: *1101152 FastCGI sent in stderr: "Traceback (most recent call last):
File "/usr/local/lib/python2.5/site-packages/flup-0.5-py2.5.egg/flup/server/fcgi_base.py", line 558, in run
protocolStatus, appStatus = self.server.handler(self)
File "/usr/local/lib/python2.5/site-packages/flup-0.5-py2.5.egg/flup/server/fcgi_base.py", line 1112, in handler
result = self.application(environ, start_response)
File "/usr/local/lib/python2.5/site-packages/django/core/handlers/wsgi.py", line 193, in __call__
response = middleware_method(request, response)
File "/usr/local/lib/python2.5/site-packages/django/contrib/sessions/middleware.py", line 99, in process_response
datetime.datetime.now() + datetime.timedelta(seconds=settings.SESSION_COOKIE_AGE))
File "/usr/local/lib/python2.5/site-packages/django/contrib/sessions/models.py", line 46, in save
s.save()
File "/usr/local/lib/python2.5/site-packages/django/db/models/base.py", line 209, in save
(backend.quote_name(self._meta.db_table), backend.quote_name(self._meta.pk.column)), [pk_val])
File "/usr/local/lib/python2.5/site-packages/django/db/backends/util.py", line 12, in execute
return self.cursor.execute(sql, params)
ProgrammingError: current transaction is aborted, commands ignored until end of transaction block" while reading response header from upstream, client: 213.85.226.2, server: oldiplus.ru, URL: "/accounts/login/?next=/zakaz/", upstream: "fastcgi://unix:/export/home/dj/var/fcgi/dj_oldiplus", host: "oldiplus.ru"
Если же зайти уже залогиненым через админку пользователем, то все OK
Люди, помогите, уже весь мозг сломал…

cat urls.py
from django.conf.urls.defaults import *

urlpatterns = patterns('',
(r'^admin/', include('django.contrib.admin.urls')),
(r'^accounts/login/$', 'django.contrib.auth.views.login'),
(r'^z/$', include('z.urls')),
cat z/urls.py
from django.conf.urls.defaults import *

urlpatterns = patterns('zakaz.views',
(r'^$', 'index'),
)
cat z/views.py
from django.http import HttpResponse
from django.contrib.auth.decorators import login_required

@login_required
def index(request):
if not request.user.is_authenticated():
return HttpResponse('need auth!!!')
else:
return HttpResponse('AUTH ok!!!')
cat z/models.py
from django.db import models
settings.py:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.doc.XViewMiddleware',
)

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.admin',
'root'
)



Офлайн

#2 Окт. 30, 2007 18:50:35

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

толи лыжи не едут... не получается победить login_required

Не знаю насколько это важно, но поставили бы запятую после ‘root’.
и (r'^z/$', include('z.urls'),) Да и z как установленное application не прописано….
Но это так, к слову.
Версия джанги какая?

Офлайн

#3 Окт. 31, 2007 13:04:10

/zzz
От:
Зарегистрирован: 2007-10-30
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

толи лыжи не едут... не получается победить login_required

Ferroman
Не знаю насколько это важно, но поставили бы запятую после ‘root’.
и (r'^z/$', include('z.urls'),) Да и z как установленное application не прописано….
Но это так, к слову.
Версия джанги какая?
прописано было - видать не копипастнулось

urls счас вот так получился:

urls.py
from django.conf.urls.defaults import *

urlpatterns = patterns('',
(r'^admin/', include('django.contrib.admin.urls')),
(r'^accounts/login/$', 'django.contrib.auth.views.login'),
(r'^zakaz/$', include('zakaz.urls')),
#
(r'^$', include('root.urls')),
)
zakaz/urls.py
from django.conf.urls.defaults import *

urlpatterns = patterns('zakaz.views',
(r'^$', 'index'),
)
версия – 0.96



Офлайн

#4 Окт. 31, 2007 14:14:05

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

толи лыжи не едут... не получается победить login_required

Проблема явно с базой.
Попробуйте сделать syncdb наново.
Пишут что такая проблема бывает при использовании PostgreSQL.
Но у меня таких пробле небыло, так что разве пару линков дам, может помогут:
Тут и тут есть похожая проблема.

Офлайн

#5 Окт. 31, 2007 14:30:06

/zzz
От:
Зарегистрирован: 2007-10-30
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

толи лыжи не едут... не получается победить login_required

Ferroman
Проблема явно с базой.
Попробуйте сделать syncdb наново.
Пишут что такая проблема бывает при использовании PostgreSQL.
Но у меня таких пробле небыло, так что разве пару линков дам, может помогут:
Тут и тут есть похожая проблема.
я не очень понял куда втавлять код приведеный по второй ссылке.

пересоздать базу врядли поможет, ибо zakaz была создана с нуля именно для того чтобы проверить

models.py
from django.db import models

# Create your models here.

и все!



Офлайн

#6 Окт. 31, 2007 14:41:06

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

толи лыжи не едут... не получается победить login_required

Может быть проблема с таблицами auth.
Я проверил - в девелопер-варианте с базой sqllite все работает нормально. Настройки сервера?

Офлайн

#7 Окт. 31, 2007 15:09:36

/zzz
От:
Зарегистрирован: 2007-10-30
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

толи лыжи не едут... не получается победить login_required

Ferroman
Может быть проблема с таблицами auth.
Я проверил - в девелопер-варианте с базой sqllite все работает нормально. Настройки сервера?
А с постгресом можешь проверить?
коннект к серверу я дам если надо.



Офлайн

#8 Окт. 31, 2007 18:13:02

/zzz
От:
Зарегистрирован: 2007-10-30
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

толи лыжи не едут... не получается победить login_required

проапгрейдился до -devel версии, сделал syncdb – вроде заработало.
но как-то кривовато – иногда вылетает по ошибке – темплейты не там,
с рысскими буквами какие-то проблемы



Офлайн

  • Начало
  • » Django
  • » толи лыжи не едут... не получается победить login_required[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version