Python 了解django文档代码-会话
你好,我是django/python新手,需要一些帮助来理解下面的代码Python 了解django文档代码-会话,python,django,web-applications,Python,Django,Web Applications,你好,我是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() re
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。我的逻辑不正确吗?另外,会话密钥“has_commented”源自何处 当您调用
request.session.get('has_commented',False)
时,您会问“会话键'has_commented'
是否设置为true?如果设置为true,则返回值。如果未设置,则返回False。”因此,如果有人尚未进行注释,它将返回False
,并继续执行其余代码
“has_commented”
键源自以下几行:
request.session['has_commented'] = True
这将在有人发表评论后将
“has_commented”
键设置为true。函数request.session.get接受两个参数,即
- 密钥('has_commented')
- 默认值(False)
request.session['has_commented']=True我假设
.get
是python的dict
定义的False
是在字典中找不到键时返回的值。