我在提交表单时在我的Django装饰器(request.POST.get('...')
)中使用@save_post_request
,在每个试验中我得到同样的错误
(request.<anything>
错误):
AttributeError:&#39; collectData&#39;对象没有属性&#39; POST&#39;
我的装饰器在post()
classBasedView内的CollectData
函数之上调用。
#views.py
class collectData(View):
template_name = 'collect_data.html'
context = {...}
def get(self, request, *args, **kwargs):
...
return render(request, self.template_name, self.context)
@save_post_request
def post(self, request, *args, **kwargs):
...
return redirect(reverse('collectData'))
#decorators.py
def save_post_request(function):
def wrap(request, *args, **kwargs):
title = request.POST.get('title') # <---
...
return function(request, *args, **kwargs)
wrap.__doc__ = function.__doc__
wrap.__name__ = function.__name__
return wrap
我不确定是否可以使用classBasedViews
调用装饰器,但我认为它应该是正确的,我的错误是什么?
答案 0 :(得分:3)
内部函数的第一个参数应该是[checked]="season === 'Winter'"
:
self