首页 > 解决方案 > 在 Django 中发布后使用 ListView 的查询集返回 httpresponse

问题描述

提交表单后,我有一个带有 formmixin 的列表视图,我试图用一些额外的消息返回完全相同的视图,但我无法返回查询集,因此列表没有出现,任何人都可以帮助我。

视图.py

class NewsletterList(FormMixin, generic.ListView):
    queryset = newsletter.objects.filter(status=1).order_by('-created_on')
    template_name = 'newsletterlist.html'
    form_class = SubscriberForm


    def post(self, request, *args, **kwargs):
        form = SubscriberForm(request.POST)
        if form.is_valid():
            sub = Subscriber(email=request.POST['email'], conf_num=random_digits())
            sub.save()
            
            return render(request, 'newsletterlist.html', {'form': SubscriberForm()})

def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs) 
    context['newsletter_list'] = newsletter.objects.filter(status = 1) 
    return context

HTML

 {% for newsletter in newsletter_list %}
      

      <a href="{{newsletter.slug}}" class="d-flex justify-content-between list-group-item list-group-item-action">
        <span class=""><b>{{ newsletter.title }}</b> - {{newsletter.catchy_line|slice:":200" }}</span>. 
        <span class="">{{ newsletter.datepublished}}</span> 
      </a>
    

 
    {% endfor %}


        

提前致谢

标签: pythondjangodjango-viewsdjango-templates

解决方案


试试 queryset = Newsletter.objects.filter(status=1).order_by('-created_on') 拼写问题


推荐阅读