由于many人,我无法登录到Django(Nonrel)管理界面,而其他用户给出的解决方案在我的情况下不起作用。我正在运行Python 2.7和Google App Engine 1.6.0。无法登录到Django Nonrel的管理界面
让我们来看看。我有这个在我的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 createsuperuser),这也不起作用。然而,奇怪的是那些超级用户可用:
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
但是,我无法登录。
,如果是相关的,我不知道,但是当执行python manage.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
有什么建议?
顺便说一句,我已经创建了超级用户而无需运行服务器,正如David Poblador在此question中所建议的那样。
UPDATE:我试着部署(python manage.py deploy),但它发生的情况完全一样。我无法用任何超级用户登录,但除此之外,没有任何错误。
UPDATE 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()
后,我得到了正确的超级用户列表,但它们在登录页面中不起作用。
在此先感谢。
Regards