Найти - Пользователи
Полная версия: толи лыжи не едут... не получается победить login_required
Начало » Django » толи лыжи не едут... не получается победить login_required
1
/zzz
Никак не могу заставить работать декоратор 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'
)
Ferroman
Не знаю насколько это важно, но поставили бы запятую после ‘root’.
и (r'^z/$', include('z.urls'),) Да и z как установленное application не прописано….
Но это так, к слову.
Версия джанги какая?
/zzz
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
Ferroman
Проблема явно с базой.
Попробуйте сделать syncdb наново.
Пишут что такая проблема бывает при использовании PostgreSQL.
Но у меня таких пробле небыло, так что разве пару линков дам, может помогут:
Тут и тут есть похожая проблема.
/zzz
Ferroman
Проблема явно с базой.
Попробуйте сделать syncdb наново.
Пишут что такая проблема бывает при использовании PostgreSQL.
Но у меня таких пробле небыло, так что разве пару линков дам, может помогут:
Тут и тут есть похожая проблема.
я не очень понял куда втавлять код приведеный по второй ссылке.

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

models.py
from django.db import models

# Create your models here.

и все!
Ferroman
Может быть проблема с таблицами auth.
Я проверил - в девелопер-варианте с базой sqllite все работает нормально. Настройки сервера?
/zzz
Ferroman
Может быть проблема с таблицами auth.
Я проверил - в девелопер-варианте с базой sqllite все работает нормально. Настройки сервера?
А с постгресом можешь проверить?
коннект к серверу я дам если надо.
/zzz
проапгрейдился до -devel версии, сделал syncdb – вроде заработало.
но как-то кривовато – иногда вылетает по ошибке – темплейты не там,
с рысскими буквами какие-то проблемы
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB