gpt4 book ai didi

python - 了解 django 文档代码 - session

转载 作者:行者123 更新时间:2023-12-01 05:50:35 25 4
gpt4 key购买 nike

你好,我是 django/python 新手,需要一些帮助来理解下面的代码。

def post_comment(request, new_comment):
if request.session.get('has_commented', False):
return HttpResponse("You've already commented.")
c = comments.Comment(comment=new_comment)
c.save()
request.session['has_commented'] = True
return HttpResponse('Thanks for your comment!')

我感到困惑的是 if request.session.get('has_commented',False)如果用户发表了评论,则“has_commented”键设置为 true,那么您是否会检查“has_commented”是否设置为 true 以确保用户不会发布其他评论,而不是检查“has_commented”是否为 false。我的逻辑不正确吗?另外, session key “has_commented”来自哪里?

最佳答案

函数 request.session.get 有 2 个参数,即

  • 键('has_commented')
  • 默认值(False)

该函数将尝试返回键的值,但如果键不存在,或者值为 NULL,则将返回默认值。

换句话说,如果“has_commented”的值为 True,则 if 语句将运行。但是,如果 session 中没有 'has_comment' 键,request.session.get 将返回默认值 False,并且 if 语句将不会运行。

session key “has_commented”源自以下行:

request.session['has_commented'] = True

关于python - 了解 django 文档代码 - session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14460042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com