创建Django会话

时间:2018-03-31 21:52:39

标签: python django session

我目前正面临一个问题,在我的网络应用中,如果有两个用户登录,然后每个人想要进行操作(例如添加评论),这两个评论将在数据库中显示为来自同一个人(最后登录用户)。我已经记录并知道必须进行会话,但我无法弄清楚如何。从发现的例子中我了解到需要这样的东西

user = authenticate(username=username, password=password)

if user is not None:
    login(request, user)
    request.session['username'] = username
    return redirect('index')
else:
    return render(request, 'library/login.html')

然后在个人资料中,如果我要始终打印用户名,则向所有用户显示最后登录用户

class Profil(View):
    template_name = 'library/profile.html'

    def get(self, request):
        print(request.session['username'])
        # the rest of the code

任何人都可以向我解释我错在哪里,我该如何纠正?一个例子就是完美的。

P.S。:如果您认为这是一个愚蠢的问题,请提前道歉。

1 个答案:

答案 0 :(得分:0)

您不需要显式定义会话,您可以通过“request.user.username”轻松获取用户名,并且在您的审阅模型中,您可以添加用户表的外键,指示哪个用户正在添加审阅。