首页 文章

Django:登录会话不会持续页面加载

提问于
浏览
1

我正在使用的库:

  • django-nonrel/django@nonrel-1.5

  • pymongo> = 2.8

  • django-nonrel / djangotoolbox

  • django-nonrel / mongodb-engine

  • python-jsonrpc

  • django-ckeditor == 4.5.1

嘿 . 我已经介绍了我的代码,看了很多不同的地方,但我似乎无法弄清楚什么会阻止我的Django会话继续我的本地安装 .

我把它缩小到我认为可能发生的三种可能性:

1)我在会话将持续之前需要运行/安装的后端缺少一些东西2)我的会话时间不够长?但是,当我查看 Session 时,它明确表示它将在半个月后到期 . 所以我认为这不太可能 .

如果登录后我没有重定向,登录页面会将我的会话显示为活动状态 . 只有当我导航到另一个页面时,我才会立即退出 . 话虽如此,它可能会在我不知情的情况下提前退出 . 但注销路线没有被击中,所以是的,我已经覆盖了我的基础,并确保这不是问题 .

如果您对我接下来要检查的内容有任何建议,请告诉我,以帮助解决此问题!谢谢你!

编辑:额外信息,当我检查是否可以发布settings.py文件(那里有很多信息,但有些是私人的)

http://imgur.com/jyiiN7O&sQE75HN&f3cEXsq GET和POST的图像,然后由于缺少登录会话而尝试加载另一个页面失败 .

这是我试图登录后的路线 . (要清楚,登录工作完全正常 . 数据库更新,会话存储,页面重新加载,UI更改为似乎已登录 . 仅在另一页上加载它会消失 . )

def play(request):
    if not request.user.is_authenticated():
        return HttpResponseRedirect(reverse('login'))

    try:
        n = ReleaseNote.objects.order_by('-date')[0]

    except:
        n = None

    return render(request, 'help/play.html', {'note': n})

1 回答

  • 0

    如果你以这种方式尝试它会像魅力一样:

    class Login(View):
        template_name = ['your_app_name/login.html', 'your_app_name/home.html']
    
    def get(self, request, *args, **kwargs):
        form = UsersForm()
        return render(request, self.template_name[0],{"form":form,})
    
    
    def post(self, request, *args, **kwargs):
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(username=username, password=password)
        if user is not None:
            login(request, user)
            #if login is succesfull it takes you to home page:
            return render_to_response(self.template_name[1],RequestContext(request))
        else:
            #if is not, takes you to login page again
            return HttpResponseRedirect(reverse('cost_control_app:login'))
    

相关问题