Im использования Django построителя отчетов, и им пытаются экспортировать один из моих созданных отчетов в виде файла XLS, это моя функция в views.py:Экспорт Джанго отчетов отчетов .xls из шаблона
from django.shortcuts import render, get_object_or_404
from django.http import HttpResponseRedirect
from django.views.generic import View
from django.core.urlresolvers import reverse
from django.contrib.auth.models import User
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.utils import timezone
from ..form import UsersForm, CostItemsForm, GroupsForm, SubGroupsForm, SubGroups2Form, CostElementsForm, RequestsForm
from ..models import Groups, CostItems, Requests, CostElements, Positions, ItemChangeLogs, ElementChangeLogs
from datetime import date, datetime
from report_builder.models import Report
from report_utils.mixins import DataExportMixin, generate_filename
class DownloadFileView(DataExportMixin, View):
def dispatch(self, *args, **kwargs):
return super(DownloadFileView, self).dispatch(*args, **kwargs)
def process_report(self, report_id, user_id,
file_type, to_response, queryset=None):
report = get_object_or_404(Report, pk=2)
user = request.user
if not queryset:
queryset = report.get_query()
display_fields = report.get_good_display_fields()
objects_list, message = self.report_to_list(
queryset,
display_fields,
user,
preview=False,)
title = re.sub(r'\W+', '', report.name)[:30]
header = []
widths = []
for field in display_fields:
header.append(field.name)
widths.append(field.width)
if to_response:
return self.list_to_xlsx_response(
objects_list, title, header, widths)
Таким образом, им вызов этого вида из шаблона:
{% extends 'cost_control_app/base_cost_control_app.html' %}
{% block contentsubbase %}
{% load widget_tweaks %}
<div class="center-panel">
<h3>Reports</h3>
{% csrf_token %}
<br>
<div class="table-responsive">
<a href="{% url 'cost_control_app:report_download' %}" >Export</a>
</div>
</div>
{% endblock contentsubbase %}
И это мой urls.py, который соединяет все:
from django.conf.urls import include, url, patterns
from django.contrib.auth import views as auth_views
from django.contrib.auth.views import login, logout
from .views import views
urlpatterns = patterns(
'',
url(r'^reports/download/$', views.DownloadFileView.as_view(), name = "report_download"),
)
вещь, не работает, когда я нажимаю ярлык под названием «Экспорт», он переносит меня в пустой шаблон, но не сохраняет диалог файла или ничего ... любая идея, пожалуйста?
Заранее спасибо