Muchas veces, cuando preparas dashboards o paneles de administración similares suelen solicitar tener la opción de generar CSV a partir de un listado. Una forma muy sencilla es utilizar el módulo desarrollado por Azavea(http://www.azavea.com/). Más info en e instrucciones de uso en: https://github.com/azavea/django-queryset-csv
Vamos a ver un ejemplo rápido, para imprimir queryset de Usuarios en CSV en django
pip install django-queryset-csv
views.py
import djqscsv
@login_required
def render_csv(request, pk):
qs = Usuarios.objects.all().values('nombre', 'apellidos', 'dni')
return djqscsv.render_to_csv_response(qs)
OJO, no devolvemos el queryset como tal, sino values_list
urls.py
url(r'^csv/$', 'user.views.render_csv', name="render_csv"),
Esto es todo. Se nos generará un csv con el listado de usuarios con los 3 campos indicados. ;-)