【发布时间】:2014-06-26 04:19:59
【问题描述】:
我对此很困惑,我不知道如何做到这一点.. 我有一个视图,其中列出了新闻表中的所有新闻。为了显示新闻,我在列表视图中传递了上下文数据。这是我的看法
class SingleNewsView(ListView):
model = News
form_class = SearchForm
template_name = "single_news.html"
# def post(self, request, **kwargs):
# print "request"
# form = SearchForm(request.user)
def get(self, request, pk, **kwargs):
#form = SearchForm(request.user)
self.pk = pk
self.pub_from = request.GET.get('pub_date_from',False)
self.pub_to = request.GET.get('pub_date_to',False)
self.crawlers = request.GET.get('crawler',False)
print self.crawlers
return super(SingleNewsView,self).get(request,pk, **kwargs)
def get_context_data(self, **kwargs):
context = super(SingleNewsView,self).get_context_data(**kwargs)
context["form"] = SearchForm
if self.pub_from and self.pub_to and self.crawlers:
context["something"] = News.objects.filter(category_id=self.pk).filter(published_date__range=(self.pub_from,self.pub_to), crawler=self.crawlers)
else:
context["something"] = News.objects.filter(category_id=self.pk)
return context
我已经写了我从 django doc 引用的视图,以下载 csv 格式的新闻。我还包括一个搜索表单来过滤新闻。在我的第一个视图中,我通过 context["something"] 来显示模板中的新闻列表。 现在我想要的是在 csv 中下载该新闻。我为此写了一个视图
def CSVView(request):
response = HttpResponse(content_type="text/csv")
response["Content-Disposition"] = 'attachment; filename=somefilename.csv"'
some_val = request.session["something"]
print some_val
print "this"
writer = csv.writer(response)
writer.writerow(some_val)
return response
这是我下载 csv 的下一个视图。在这里,我要做的是下载过滤后的新闻。在我的第一个视图中, context["something "] 给出了新闻列表。我做了所有但不知道如何得到它。最后,我试图从会话中获取 contxt["something"] 的值,但我也失败了。我怎样才能获得一种观点对另一种观点的价值。或者任何人都知道如何下载上下文 [“某物”] 返回的新闻。我究竟做错了什么。
【问题讨论】: