如何在Django中使用通用列表视图添加表单

时间:2018-11-25 09:49:36

标签: django listview django-forms django-generic-views

我想在主视图中添加表单,这是一个通用列表视图,但我不能。

这是我的代码...

views.py

class home_view(ListView):
    model = home_blog_model
    template_name = "home.html"
    context_object_name = "posts"
    paginate_by = 6
    ordering = ['-date']


    def get_context_data(self , **kwargs):
        context = super(home_view , self).get_context_data(**kwargs)
        context.update({"snippets":snippet_form_model.objects.all()})

        return context

我已经在同一列表视图中添加了一个代码段视图,并且我想在其中添加另一种表单。这是我的表格...

forms.py

class feedback_form(forms.ModelForm):
    name = forms.CharField(required=True)
    email = forms.EmailField(required=True)
    message = forms.CharField(required=True , widget=forms.Textarea(attrs={"placeholder":"what do you want to say"}))

    class Meta:
        model = feedback_form_model
        fields = ["name" , "email" , "message"]

我还在这里为该表单创建了基于函数的视图...

def feedback_view(request):
    if request.method == "POST":
        form = feedback_form(request.POST)
        if form.is_valid():
            form.save()

            return redirect("/home/")

    else:
        form = feedback_form()
    return render(request , "base.html" , {"form":form})

此基于功能的视图无法正常运行。我该怎么办?

0 个答案:

没有答案