django admin登录不重定向

时间:2012-04-05 03:15:51

标签: django django-admin

我可以浏览django管理员登录页面,但在输入正确的登录详细信息后,它将保留在具有空文本框的同一登录页面上。如果登录详细信息错误,它将显示消息。 我有以下内容,我可以通过什么方式进行故障排除,因为日志没有说明任何重要内容。

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

使用manage.py createsuperuser创建超级用户,因为我在运行syncdb期间错过了默认用户

清除过的Cookie并重试仍然一样。

在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', 'test@domain.com'),
)

SEND_BROKEN_LINK_EMAILS = False
MANAGERS = ADMINS

DEFAULT_FROM_EMAIL = 'test@domain'
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)),

1 个答案:

答案 0 :(得分:5)

  

实际上是由于我的settings.py中的SESSION_COOKIE_SECURE = True,我在2个地方意外定义了,其中一个注释了另一个未注释的,导致这种情况发生,因为该网站尚未在https下运行。这是一个愚蠢的错误 - user1076881 4月5日7:27