【问题标题】:How to include a dropdown query into a HttpResponse view如何将下拉查询包含到 HttpResponse 视图中
【发布时间】:2021-04-15 21:28:39
【问题描述】:

从下拉选择中传递过滤器后,我想转换为模型的 excel 内容。这是视图。

def ConvertToExcelView(request):
    response = HttpResponse(content_type='text/csv')
    writer = csv.writer(response)
    writer.writerow([('name'), ('adm'),('form'),('stream') ])
    for member in Marks.objects.filter(student__school__name=request.user.school).values_list('student__name',     'student__adm', 'student__klass__name', 'student__stream__name':
        writer.writerow(member)       
    response['Content-Disposition'] = 'attachment; filename="members.csv"'
    return response

有没有办法可以将其合并到视图中????

query = request.GET.get('view_classes')
    if query:
        queryset = (Q(student__klass__name__icontains = query))            
    return render(request,'students_marks.html',all_mark_results)

如果我对此不清楚,请寻求更多说明。

【问题讨论】:

    标签: python django django-views csv-write-stream


    【解决方案1】:

    这很简单。只需包含获取请求并为您打算从中获取选择的表单命名,即

    def ConvertToExcelView(request):
        details = request.GET.get('s_details') #Assuming the form name is s_details
        queryset = (Q(student__klass__name__exact = details))
        response = HttpResponse(content_type='text/csv')
        writer = csv.writer(response)
        writer.writerow([('name'), ('adm'),('form'),('stream') ])
        for member in Marks.objects.filter(queryset).distinct().filter(student__school__name=request.user.school).values_list('student__name',     'student__adm', 'student__klass__name', 'student__stream__name':
            writer.writerow(member)       
        response['Content-Disposition'] = 'attachment; filename="members.csv"'
        return response
    

    这将像魅力一样发挥作用。 如果您需要解释,请回复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-17
      • 2017-01-09
      • 2021-11-04
      • 2021-07-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-26
      相关资源
      最近更新 更多