Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

394
Vistas
Cómo escribir Django REST Api sin modelo para enviar un archivo usando Solicitudes

Quiero escribir un método de descanso sin modelo para poder enviar un archivo csv usando el módulo de solicitudes de python. Se debe acceder de forma remota a este archivo csv desde el servidor.

Por ejemplo, inicié sesión en mi proyecto mediante solicitudes y obtuve las cookies y los encabezados para poder pasarlo al siguiente método de solicitudes.

 files = {'file': open('test.csv', 'rb')} response = requests.post(url, files=files, headers=api_headers, cookies=api_cookies)

Entonces esta url debería ser: llamar a ese método de descanso.

vistas.py archivo:

 class FileUploadView(APIView): parser_classes = (FileUploadParser,) def post(self, request, format=None): csvfile = request.data['file'] #reader = csv.DictReader(csvfile) #for r in reader: #print(r) return Response(status=204)

Solo para tener en cuenta: estoy enviando un archivo csv usando el módulo de solicitudes.

¿Alguien puede ayudarme a escribir este método de descanso?

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Vista normal de Django

 def myview(request): f = request.FILES['file'] with open('some/folder/name.txt', 'wb+') as destination: #f.name or f.filename (dont know which one)will get filename.So you can replace it name.txt for chunk in f.chunks(): destination.write(chunk) return JsonResponse({"message": "Uploaded!"})

ACTUALIZAR

 # views.py class FileUploadView(views.APIView): parser_classes = (FileUploadParser,) def post(self, request, filename, format=None): file_obj = request.data['file'] # ... # do some stuff with uploaded file # ... return Response(status=200) # urls.py urlpatterns = [ # ... url(r'^upload/(?P<filename>[^/]+)$', FileUploadView.as_view()) ]

Después

 url = 'http://127.0.0.1:8000/upload/test.csv' #filename should be in url files = {'file': open('test.csv', 'rb')} response = requests.post(url, files=files, headers=api_headers, cookies=api_cookies)
about 4 years ago · Santiago Trujillo Denunciar

0

Esto haría el truco para ti. http://www.django-rest-framework.org/api-guide/parsers/#fileuploadparser

 # views.py class FileUploadView(views.APIView): parser_classes = (FileUploadParser,) def post(self, request, filename, format=None): file_obj = request.data['file'] # ... # do some stuff with uploaded file # ... return Response(status=204) # urls.py urlpatterns = [ # ... url(r'^upload/(?P<filename>[^/]+)$', FileUploadView.as_view()) ] # test with this curl curl -X POST -S -H -F "file=@something.jpg;type=image/jpg" 127.0.0.1:8000/upload/myfile/
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda