我在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上开始。
我该怎么做?
谢谢! 罗茜
答案 0 :(得分:0)
render
取代/替换的 model.collection
期望将字典中的变量作为“上下文”发送到模板。您的render_to_response
视图应该接受一个变量,通常称为get_data_weibull
(request
仅用作对象函数的第一个参数的名称)。然后,您可以使用行数据构建字典并将其作为'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())