无法使用有效的用户名和密码登录django管理页面

发布于 2021-01-29 17:09:14

我无法登录django管理页面。输入有效的用户名和密码后,它将再次显示登录页面,没有错误消息

这个问题在django FAQ中,但是我已经遍历了那里的答案,但仍然无法通过初始登录屏幕。

我在ubuntu 12.04上使用apache2和modwsgi使用django 1.4。

我已确认我正在admin.py文件中注册admin ,请确保在添加后同步到db INSTALLED_APPS。当我输入了错误的密码我 DO
得到一个错误,所以我的管理员用户进行认证,只是没有在进行管理页面。

我尝试SESSION_COOKIE_DOMAIN将机器的IP和无都设置为IP地址。(确认cookie域在Chrome中显示为计算机的IP)

另外,检查用户是否通过外壳进行了身份验证:

>>> from django.contrib.auth import authenticate
>>> u = authenticate(username="user", password="pass")
>>> u.is_staff
True
>>> u.is_superuser
True
>>> u.is_active 
True

尝试使用IE8和chrome canary登录,两者均会以相同的方式返回到登录屏幕。

还有其他我想念的东西吗????

settings.py

...
MIDDLEWARE_CLASSES = (
    'django.middleware.gzip.GZipMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.middleware.transaction.TransactionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
)
AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)
INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.admin',    
    'django.contrib.staticfiles',
    'django.contrib.gis',
    'myapp.main',
)

SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SESSION_SAVE_EVERY_REQUEST = True
SESSION_COOKIE_AGE = 86400 # sec
SESSION_COOKIE_DOMAIN = None
SESSION_COOKIE_NAME = 'DSESSIONID'
SESSION_COOKIE_SECURE = False

urls.py

from django.conf.urls.defaults import * #@UnusedWildImport
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.contrib import admin

admin.autodiscover()

urlpatterns = patterns('',
    (r'^bin/', include('myproject.main.urls')),    
    (r'^layer/r(?P<layer_id>\d+)/$', "myproject.layer.views.get_result_layer"),
    (r'^layer/b(?P<layer_id>\d+)/$', "myproject.layer.views.get_baseline_layer"),
    (r'^layer/c(?P<layer_id>\d+)/$', "myproject.layer.views.get_candidate_layer"),    
    (r'^layers/$', "myproject.layer.views.get_layer_definitions"),
    (r'^js/mapui.js$', "myproject.layer.views.view_mapjs"),
    (r'^tilestache/config/$', "myproject.layer.views.get_tilestache_cfg"),
    (r'^admin/', include(admin.site.urls)),  
    (r'^sites/', include("myproject.sites.urls")),  
    (r'^$', "myproject.layer.views.view_map"),
)


urlpatterns += staticfiles_urlpatterns()

Apache版本:

Apache/2.2.22 (Ubuntu) mod_wsgi/3.3 Python/2.7.3 configured

Apache apache2 / sites-available / default:

<VirtualHost *:80>
        ServerAdmin ironman@localhost
        DocumentRoot /var/www/bin
        LogLevel warn
        WSGIDaemonProcess lbs processes=2 maximum-requests=500 threads=1
        WSGIProcessGroup lbs
        WSGIScriptAlias / /var/www/bin/apache/django.wsgi
        Alias /static /var/www/lbs/static/
</VirtualHost>
<VirtualHost *:8080>
        ServerAdmin ironman@localhost
        DocumentRoot /var/www/bin
        LogLevel warn
        WSGIDaemonProcess tilestache processes=2 maximum-requests=500 threads=1
        WSGIProcessGroup tilestache
        WSGIScriptAlias / /var/www/bin/tileserver/tilestache.wsgi
</VirtualHost>

更新

通过使用开发服务器时,管理页面的确继续进行,runserver因此似乎是wsgi / apache问题。仍未弄清楚。

问题是,我有设置文件SESSION_ENGINE值设置为'django.contrib.sessions.backends.cache'
具有CACHE_BACKEND正确配置。

我已将SESSION_ENGINE更改为'django.contrib.sessions.backends.db'可解决此问题的位置。

关注者
0
被浏览
115
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    调试步骤:

    • 确保您的数据库已同步
      • 仔细检查您是否有django_session表
    • 尝试验证
      • 您看到django_session表中正在创建记录吗?

    如果不

    • 删除非标准设置
      • AUTHENTICATION_BACKENDS =(’django.contrib.auth.backends.ModelBackend’,)
      • SESSION_EXPIRE_AT_BROWSER_CLOSE =真
      • SESSION_SAVE_EVERY_REQUEST =真
      • SESSION_COOKIE_AGE = 86400#秒
      • SESSION_COOKIE_DOMAIN =无
      • SESSION_COOKIE_NAME =’DSESSIONID’
      • SESSION_COOKIE_SECURE =假
    • 确保您的数据库已同步
      • 仔细检查您是否有django_session桌子
    • 尝试验证
      • 您看到django_session表中正在创建记录吗?

    让我知道这是否打开任何有用的调试。

    样本设置文件:https : //github.com/fyaconiello/Django-Blank-
    Bare-Bones-
    CMS/blob/master/dbbbcms/settings.py



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看