Django表单提交显示属性错误'表单'对象没有属性用户

时间:2015-08-20 05:08:33

标签: django forms django-forms django-class-based-views

我尝试使用基于类的视图FormView

提交表单

但它提供了以下错误enter image description here

以下是我的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' })) 

任何人都可以给我一个解决方案来摆脱这个错误并成功提交我的表单数据。

提前致谢。

0 个答案:

没有答案