从Django服务获取JSON数据

时间:2017-04-10 18:44:44

标签: python json ajax django request

我在django和python上完成了新功能。现在,我正在努力开发一项简单的服务。这是一个想法:我通过POST(来自另一个域,CORS)在Django中向JS发送3个参数到Django,python处理数据并返回JSON,即所有。

为什么我这样做?? ,因为我需要pyhon上的特殊功能:统计。

这是我开始的代码:

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

这非常简单地在codeigniter或laravel上。但我不知道如何在django上开始。

我该怎么做?

谢谢! 罗茜

2 个答案:

答案 0 :(得分:0)

已被render取代/替换的

model.collection期望将字典中的变量作为“上下文”发送到模板。您的render_to_response视图应该接受一个变量,通常称为get_data_weibullrequest仅用作对象函数的第一个参数的名称)。然后,您可以使用行数据构建字典并将其作为'JsonResponse`返回。

答案 1 :(得分:0)

这样做

color =  Helper.pixel_at(current[X], current[Y])

或者如果您使用旧版本的Django,则可以返回

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