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

134
Vistas
Obtenga datos JSON del servicio Django

Soy completamente nuevo en Django y Python. Ahora estoy tratando de desarrollar un servicio simple. Esta es la idea: envío 3 parámetros de JS a Django por POST, (desde otro dominio, CORS) en Django, python procesa los datos y me devuelve JSON, eso todo.

¿¡Por qué he hecho eso!? , porque necesito funciones especiales disponibles en pyhon: Estadísticas.

Este es el código con el que empiezo:

urls.py

 from django.conf.urls import url from django.contrib import admin from . import controlador #este sisi urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^get_weibull/', controlador.get_data_weibull)]

controlador.py

 from django.shortcuts import render from django.http import HttpResponseRedirect from django.shortcuts import render_to_response import numpy as np import matplotlib.pyplot as plt def weib(x,n,a): return (a / n) * (x / n)**(a - 1) * np.exp(-(x / n)**a) def get_data_weibull(self): a = 5. # shape s= np.random.weibull(a, 1000) x = np.arange(1,100.)/50. count, bins, ignored = plt.hist(np.random.weibull(5.,1000)) x = np.arange(1,100.)/50. scale = count.max()/weib(x, 1., 5.).max() plt.plot(x, weib(x, 1., 5.)*scale) ax = plt.gca() line = ax.lines[0] return render_to_response(line.get_xydata())

Esto es muy simple en codeigniter o laravel. pero no sé cómo comenzar esto en django.

¿Cómo puedo hacer eso?

¡Gracias! rosie

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

0

render_to_response , que ha sido reemplazado/reemplazado por render espera enviar variables en un diccionario como un "contexto" a una plantilla. Su vista get_data_weibull debe aceptar una variable, normalmente llamada request ( self solo se usa como el nombre del primer argumento de la función de un objeto). Luego puede construir un diccionario con sus datos de línea y devolverlo como 'JsonResponse` .

about 4 years ago · Santiago Trujillo Denunciar

0

Hacer esto

 from django.http import JsonResponse def get_data_weibull(self): a = 5. # shape s= np.random.weibull(a, 1000) x = np.arange(1,100.)/50. count, bins, ignored = plt.hist(np.random.weibull(5.,1000)) x = np.arange(1,100.)/50. scale = count.max()/weib(x, 1., 5.).max() plt.plot(x, weib(x, 1., 5.)*scale) ax = plt.gca() line = ax.lines[0] return JsonResponse(line.get_xydata())

o si está usando una versión anterior de Django, puede devolver esto en su lugar

 HttpResponse(json.dumps(line.get_xydata()), content_type="application/json")
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