Поскольку много человек, я не могу войти в интерфейс администратора 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()
, я получаю правильный список суперпользователей, но они не работают на странице входа в систему.
Заранее спасибо.
С уважением