Я ищу export data
из базы данных в разных форматах файлов (.csv, .json, .xls ...).
Идея должна быть такова: пользователь может перейти на новый шаблон и можетдоступ ко многим кнопкам загрузки.Когда он нажимает на один, он загружает файл в выбранном формате.
У меня есть это представление:
class Exports(ListView):
template_name = 'exports.html'
context_object_name = 'exports'
def export_categories_csv(request):
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename="categories.csv"'
writer = csv.writer(response)
writer.writerow(['id', 'name'])
categories = Category.objects.all().values_list('id', 'name')
for category in categories:
writer.writerow(category)
return response
def get_context_data(self, **kwargs):
self.export_categories_csv()
return super(HomeView, self).get_context_data(**kwargs)
Мой файл urls.py выглядит так:
url(r'^exports$', Exports.as_view(), name='exports'),
И соответствующий шаблон:
{% load staticfiles %}
{% load i18n %}
{% block main %}
<a href="{% url 'exports' %}" class="btn btn-default">Export all categories in CSV</a>
{% endblock main %}
Как я могу создавать разные кнопки и отображать эти кнопки на одной странице?И как я могу сделать ссылки между каждой кнопкой и каждой функцией внутри одного и того же класса.
До сих пор проблема заключалась в следующем:
В экспорте отсутствует QuerySet.Определите Exports.model, Exports.queryset или переопределите Exports.get_queryset ().