Using djangorestframework-csv [1] package like this, I can done the view
You need install it:
pip install --timeout 120 djangorestframework-csv
[1] https://github.com/mjumbewu/django-rest-framework-csv
Using djangorestframework-csv [1] package like this, I can done the view
You need install it:
pip install --timeout 120 djangorestframework-csv
[1] https://github.com/mjumbewu/django-rest-framework-csv
# project/settings.py | |
REST_FRAMEWORK = { | |
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', | |
'PAGE_SIZE': 10, | |
'DEFAULT_RENDERER_CLASSES': ( | |
'rest_framework.renderers.JSONRenderer', | |
'rest_framework.renderers.BrowsableAPIRenderer', | |
'rest_framework_csv.renderers.CSVRenderer', | |
) | |
} |
# app/urls.py | |
# GET /api/csv/download/1/ | |
# - Download csv file upload. | |
url(r'^api/csv/download/(?P<uploadfile_id>\d+)/$', views.FilesProcessedView.download_csv_file, | |
name="download_csv_file"), |
# app/views.py | |
from rest_framework.decorators import api_view, renderer_classes | |
from rest_framework.views import APIView | |
from rest_framework_csv.renderers import CSVRenderer | |
from models import MyModel | |
from serializers import MyModelSerializer | |
class FilesProcessedView(APIView): | |
... | |
... | |
... | |
@api_view(('GET',)) | |
@renderer_classes((CSVRenderer,)) | |
def download_csv_file(request, format=None): | |
mymodel_id = request.query_params.get('mymodel_id', None) | |
print 'format', format | |
csv_file = MyModel.objects.get(id=mymodel_id) | |
serializer = MyModelSerializer(csv_file) | |
return Response(serializer.data) |