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) |