我目前正面临一个问题,在我的网络应用中,如果有两个用户登录,然后每个人想要进行操作(例如添加评论),这两个评论将在数据库中显示为来自同一个人(最后登录用户)。我已经记录并知道必须进行会话,但我无法弄清楚如何。从发现的例子中我了解到需要这样的东西
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。:如果您认为这是一个愚蠢的问题,请提前道歉。
答案 0 :(得分:0)
您不需要显式定义会话,您可以通过“request.user.username”轻松获取用户名,并且在您的审阅模型中,您可以添加用户表的外键,指示哪个用户正在添加审阅。