Django的request.POST.get()

最近在学python的Django时,看到一句代码是这样写的:

      name = request.POST.get('name', '')
request.POST.get,那它和直接request.post有什么关系或者说区别吗?查了一下,在stackoverflow有一个帖子大概是这么说的:如果使用request.POST['sth'],那么假如‘sth’没有在post内容中就会报错keyError;而使用request.POST.get('sth')时,会返回一个None而不是报错。所以,使用request.POST.get()就相当于:

try:
    x = request.POST['sth']
except KeyError:
    x = None
而且,request.POST.get()还能添加一个额外的默认参数,如:

request.POST.get('sth', 'defaultvalue')
这样如果'sth'没在post[]内容中时,就会return这个defaultvalue值。嗯,就这样!

同理,request.COOKIES.get()、request.GET.get()道理应该也都是一样的!


ps:英文渣,不知道翻译的对不对,原链接在这儿:Stackoverflow,如果谁看了后发现我理解错误还请指正!




你可能感兴趣的:(学习记录)