Add predicate decorator to not match specific view (#20479)

Predicates is concept brought back from Pyramid, Pylon.
It has the goal of allowing a better organization of your function based view and get rid of redundant code as `if request.method == 'POST`

ticket : https://code.djangoproject.com/ticket/20479#ticket