哪种检查请求条件更好?

NIl*_*rma 2 python django request

很多时候在django python的开源代码中,我看过这样的场景

if request.META and 'HTTP_REFERER' in request.META:
Run Code Online (Sandbox Code Playgroud)

同样地,我也看到了这两个条件

if request.POST and 'next' in request.POST:
if request.GET and 'next' in request.GET:
Run Code Online (Sandbox Code Playgroud)

我相信只有一个条件足以检查这些情况下的if条件是否足够

if 'HTTP_REFERER' in request.META:
if 'next' in request.POST:
if 'next' in request.GET:
Run Code Online (Sandbox Code Playgroud)

那么为什么大多数时候人们使用较早的一次,是否就像双重检查或者有些情况下,第一次双重检查条件可能有用,而后面的单一检查条件可能会失败?

Piy*_*usG 6

它只能通过检查来来达到的
request.META.get('HTTP_REFERER')
request.REQUEST.get('next')
,而不是检查它request.POSTrequest.GET

  • 我不记得django是否有任何魔法,但它如何处理`?next =`(即空值)? (2认同)