Невозможно войти в интерфейс администратора в Django Nonrel - PullRequest
1 голос
/ 10 ноября 2011

Поскольку много человек, я не могу войти в интерфейс администратора Django (Nonrel), и решение, которое дали другие пользователи, не работает в моей ситуации.Я использую Python 2.7 и Google App Engine 1.6.0.

Посмотрим.У меня есть это в моем urls.py:

from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
    (r'^$', 'django.views.generic.simple.direct_to_template', {'template': 'home.html'}),
    url(r'^admin/', include(admin.site.urls)),
)

И это в settings.py

MIDDLEWARE_CLASSES = (
    'mediagenerator.middleware.MediaMiddleware',
    # This loads the index definitions, so it has to come first
    'autoload.middleware.AutoloadMiddleware',
    # Media middleware has to come first

    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
)

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.contenttypes',
    'django.contrib.auth',
    'django.contrib.sessions',
    'djangotoolbox',
    'autoload',
    'dbindexer',
    'mediagenerator',

    # djangoappengine should come last, so it can override a few manage.py commands
    'djangoappengine',
)

Я создал суперпользователя после удаления комментария 'django.contrib.admin', но это не 'т работа.Я создал другого суперпользователя вручную (через python manage.py createuperuser), который тоже не работает.Однако странная часть заключается в том, что эти суперпользователи доступны:

python manage.py shell
>>> from django.contrib.auth.models import User
>>> User.objects.all()
[<User: robert>, <User: john>]
>>> User.objects.all()[0].is_staff
True
>>> User.objects.all()[0].is_superuser
True

И все же, я не могу войти в систему.

Я не знаю, связано ли это, но когда запускается pythonmanage.py runserver, я получаю следующее исключение:

Exception happened during processing of request from ('127.0.0.1', 55568)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 284, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 310, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/google_appengine/google/appengine/tools/dev_appserver.py", line 2438, in __init__
    BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
  File "/usr/lib/python2.7/SocketServer.py", line 641, in __init__
    self.finish()
  File "/usr/lib/python2.7/SocketServer.py", line 694, in finish
    self.wfile.flush()
  File "/usr/lib/python2.7/socket.py", line 303, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe

Есть какие-нибудь предложения?

Кстати, я создал суперпользователей без запуска сервера, как предложил Дэвид Побладор в этом question .

UPDATE : Я пытался развернуть (python manage.py deploy), но это происходит точно так же.Я не могу войти ни с каким суперпользователем, хотя, кроме этого, ошибок нет.

ОБНОВЛЕНИЕ 2 : Я читаю ветку, в которой предлагалось посмотреть / _ah / admin, но я 'Я не уверен, что там делать.У меня есть auth_user, _AhAdminXsrfToken, django_session и несколько «таблиц» в поле «Вид сущности» в средстве просмотра хранилища данных.Когда я выбираю auth_user, я получаю следующее сообщение: «В хранилище данных нет пустых сущностей вида« auth_user »в пустом пространстве имен».

UPDATE 3 : Хорошо, теперь я официально запутался.Я создал другой проект, используя django-testapp , добавив только middleware_classes, autodiscover и django.contrib.admin для включения интерфейса администратора.Он загружает страницу «все работает», но я получаю это исключение.То же самое происходит при загрузке localhost/admin.Опять же, после запроса User.objects.all(), я получаю правильный список суперпользователей, но они не работают на странице входа в систему.

Заранее спасибо.

С уважением

1 Ответ

0 голосов
/ 11 ноября 2011

Хорошо.Я частично решил проблему.

Я снова загружал каждый файл из djangoappengine , однако на этот раз я использовал ссылку на клон вместо прямых zip-файлов (которые имеют / get / tip.zip).Я изменил settings.py и urls.py, чтобы включить администрирование.

После этого я смог войти в интерфейс администратора.Тем не менее, когда я запускаю запрос (любой запрос), я получаю то же исключение, описанное выше.Это еще предстоит решить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...