我正在寻找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 %}
如何创建不同的按钮并在同一页面中显示这些按钮?以及如何在同一个类中的每个按钮和每个函数之间建立链接。
到目前为止,问题是:
导出缺少查询集。定义Exports.model,Exports.queryset, 或覆盖Exports.get_queryset()。