2012-04-05 48 views
7

我可以浏览django管理员登录页面,但在输入正确的登录信息时,它将保留在空白文本框的同一登录页面上。如果登录详细信息错误,它将显示消息。 我有以下几点,我可以排除故障,因为日志不会说任何重要的东西。django admin登录不重定向

在shell上测试登录的方法是什么?

使用manage.py createsuperuser创建超级用户,因为我跑执行syncdb

清除cookies和重试仍然是相同的过程中丢失的默认的。在settings.py

正确SITE_ID

settings.py 
import logging 
import pwd 
import os 

DEBUG = True 
TEMPLATE_DEBUG = DEBUG 
DEBUG_TOOLBAR = False 
PROFILER_ON = False 
INTERNAL_IPS = (
'127.0.0.1' 
) 

ADMINS = (
    ('Admin', '[email protected]'), 
) 

SEND_BROKEN_LINK_EMAILS = False 
MANAGERS = ADMINS 

DEFAULT_FROM_EMAIL = '[email protected]' 
SERVER_EMAIL = DEFAULT_FROM_EMAIL 

EMAIL_HOST = 'test' 

UPLOAD_ROOT = '/domain/uploads' 

PUBLIC_UPLOAD_ROOT = '/domain/htdocs/public_uploads' 

DATABASES = { 
'default': { 
    'ENGINE': 'django.db.backends.mysql', 
    'NAME': 'table_name', 
    'USER': 'username', 
    'PASSWORD': 'password', 
    'HOST': 'localhost', 
    'PORT': '', 
    # use this to create InnoDB tables 
    'OPTIONS': { 
     'init_command': 'SET storage_engine=InnoDB', 
     'charset': 'utf8', 
    } 
} 
} 

#SESSION_COOKIE_SECURE = True 

# Setup logging 
LOGGING = { 
'version': 1, 
'disable_existing_loggers': True, 
} 

TIME_ZONE = 'America/Chicago' 

LANGUAGE_CODE = 'en-us' 

LANGUAGES = (
    ('en-us', _('English(US)')), 
) 

SITE_ID = 1 
SITE_NAME = 'my site' 

USE_I18N = True 

MEDIA_ROOT = os.path.join(os.path.dirname(__file__), 'media') 

MEDIA_URL = '/media/' 

PUBLIC_UPLOAD_URL = '/public_uploads/' 

UPLOAD_URL = '/uploads/' 


UPLOAD_IMAGES_DIR = 'images/' 

ADMIN_MEDIA_PREFIX = '/djangomedia/' 

SECRET_KEY = 'test' 

#SESSION_COOKIE_HTTPONLY = True 

#SESSION_COOKIE_DOMAIN = 'domain' 

# List of callables that know how to import templates from various sources. 
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader', 
'django.template.loaders.app_directories.Loader', 
) 
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.locale.LocaleMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'django.middleware.transaction.TransactionMiddleware', 
'django.middleware.doc.XViewMiddleware', 
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware', 
) 


LOGIN_URL = '/login/' 

LOGIN_REDIRECT_URL = '/users/main/' 
# The URL where requests are redirected for logout. 
LOGOUT_URL = '/logout/' 


TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.auth.context_processors.auth', 
'django.core.context_processors.i18n', 
'django.core.context_processors.request', 
'django.contrib.messages.context_processors.messages', 
) 


AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend', 
) 

ROOT_URLCONF = 'myapp.urls' 


TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__), 'templates'), 
) 

INSTALLED_APPS = (
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.messages', 
'django.contrib.admin', 
'django.contrib.admindocs', 
'django.contrib.flatpages', 
) 

urls.py 
url(r'^admin/', include(admin.site.urls)), 
+0

请显示完整的'settings'。也许你有一些自定义Cookie或会话设置? – ilvar 2012-04-05 04:01:51

+1

这实际上是由于我的settings.py中的SESSION_COOKIE_SECURE = True,我曾在2个地方意外定义了它,其中一个评论说另一个未注释导致这种情况发生,因为该网站并未在https下运行。这是愚蠢的错误 – user1076881 2012-04-05 07:27:07

+0

请关闭你的问题然后 – ilvar 2012-04-06 02:37:59

回答

3

它实际上是由于SESSION_COOKIE_SECURE在我的settings.py =真,我不小心在两个地方定义,一个评论另一个注释掉导致该给因为该网站没有在https下运行。这是愚蠢的错误 - user1076881 Apr 5 at 7:27