我尝试使用基于类的视图FormView
以下是我的views.py
个人资料视图代码。
class ProfileView(FormView):
template_name='profile.html'
form_class = UnregisterMealForm
context={}
form=UnregisterMealForm
@method_decorator(login_required)
def form_valid(form):
select_date = request.POST['select_date']
select_meal = request.POST['meal']
context['recent'] = "You have succesfully unregistered for "+ select_meal +" on " + select_date
return HttpResponse("You have succesfully unregistered for the meal")
def form_invalid( form):
return self.render_to_response(self.get_context_data(form=form))
def dispatch(self,*args, **kwargs ):
if self.request.user.is_active:
context = super(ProfileView, self).dispatch( self.request, *args, **kwargs)
return context
else:
return HttpResponseRedirect('%s?next=%s' % (settings.LOGIN_URL, self.request.path))
def get_context_data( self, **kwargs):
form=UnregisterMealForm()
meals = ['breakfast','lunch','dinner']
context = {'meals' : meals , 'unregisterform': form}
return context
这是我的form
class UnregisterMealForm(forms.Form):
MEALS = [('breakfast','breakfast'),('lunch','lunch'), ('dinner','dinner')]
select_date = forms.DateField(widget=DateInput())
meal = forms.CharField(widget=forms.Select(choices=MEALS, attrs={'class':'form-control', 'placehoder':'Choose the Meal' }))
任何人都可以给我一个解决方案来摆脱这个错误并成功提交我的表单数据。
提前致谢。