【发布时间】:2014-07-19 15:29:10
【问题描述】:
我有这样的代码来检查请求中是否包含 POST 参数:
def login(request):
required_params = frozenset(('email', 'password'))
if required_params <= frozenset(request.POST):
# 'email' and 'password' are included in the POST request
# continue as normal
pass
else:
return HttpResponseBadRequest()
当所需的 POST 参数列表很大时,此代码会变得混乱。我想做的是:
@required_POST_params('email', 'password')
def login(request):
# 'email' and 'password' are here always!
pass
那么我确信 'email' 和 'password' POST 参数都包含在请求中,因为如果没有,请求将自动返回 HttpResponseBadRequest()。
有没有 Django 允许我这样做的方法,如果没有,我怎么能自己用装饰器来做呢?
【问题讨论】:
标签: python django django-views python-decorators