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

时间:2015-10-30 13:53:32

标签: python django mongodb session persistence

我正在使用的图书馆:

  1. django-nonrel/django@nonrel-1.5
  2. pymongo&GT = 2.8
  3. django的-nonrel / djangotoolbox
  4. django的-nonrel / mongodb的发动机
  5. 蟒-jsonrpc
  6. 的django-CKEditor的== 4.5.1
  7. 嘿那里。我已经介绍了我的代码,看了很多不同的地方,但我似乎无法弄清楚什么会阻止我的Django会话继续我的本地安装。

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

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

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

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

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

    zero 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 :(得分: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'))