2012-05-08 2 views
0

좋은 afternoon..i이 같은 클래스 모델이 있습니다장고 simplejson

나는에 두 번째 순간에이 배열을 전달하기위한 views.py에서 simplejson 배열 num []로 직렬화 할
class Reportage: 
    def get_num(self): 
     end_date = self.date.end_date 
     start_date = self.date.start_date 
     duration = time.mktime(end_date.timetuple()) - time.mktime(start_date.timetuple()) 
     delta_t = duration/60 
     num = [] 

     for t in range(0,duration,delta_t): 
      start = t + start_date 
      end = datetime.timedelta(0,t+delta_t) + start_date 
      n_num = self.get_num_in_interval(start,end) 
      num.append([t, n_num]) 
     return num 

jquery 스크립트 그래프에 음모를 꾸미기 .. 그 배열을 serialize하는 코드는 무엇입니까 ..? 당신이 모델에이 일을 찾고 있다면 내가

답변

1

@ninefingers의 답변에 뒤이어. 귀하의 질문에 그 jQuery 플러그인을 사용할 수있는 덤프 된 json 문자열을 만드는 방법을 목표로 생각합니다. 템플릿에서

# views.py 

def my_view(request): 
# do stuff 
num = reportage_instance.get_num() 
num_json = simplejson.dumps(num) 
return render(request, 'template.html', { 
    'num_json': num_json, 
}) 

, 당신은 이제 NUM_JSON 변수로 일반 JS를 호출 할 수 있습니다

# template.html 

<html> 
<body> 
<script> 
var NUM_JSON = {{num_json|safe}}; 
myScript.doSomething(NUM_JSON); 
</script> 
</body> 
</html> 

변수 자바 스크립트로 그 JSON의 OBJ 가능합니다.

+0

이 답변을 주셔서 감사합니다,하지만 지금은 jqplot의 플러그인을 따르고 싶다면 : "http://www.jqplot.com/tests/data-renderers.php".. 내가 스크립트에서 작성해야하는 것은 내 num_json 배열을 음모하는 웹 사이트 ?? – dottorg

+0

문서를 읽으면 $ .jqplot에 대한 두 번째 매개 변수가 끝점 문자열 또는 js 데이터가 될 수 있습니다. 그러니 $ .jqplot ('mychart', NUM_JSON); –

0

.. 응답하는 모든 사람에게 미리 .. 내가 분명했다 덕분에 희망이 같은 작동합니다 :

# if this were a models.py file: 

import simplejson 
# other django imports: 

class SomeModel(models.Model): 

    property = models.SomeField()... 

    def some_function(self): 
     num = [] 

     # full num 

     simplejson.dumps(num) 

즉거야 num을 json의 문자열 표현에 덤프하십시오. 그런 다음 json을 리턴하거나 파일에 쓸 수 있습니다.

뷰에서

당신은 선택의 여지가 -하지만보기가이 작업을 수행 할 수있는 처리에 대한 몇 가지 JSON을 반환 아약스보기 인 경우 :이 다음 자바 스크립트에서 템플릿을 사용할 수 있습니다

# views.py 

# ... 

def my_ajax_call(request, model_pk): 
    try:  
     mymodel = SomeModel.get(pk=model_pk) 
    except SomeModel.NotFoundException as e: 
     return HttpResonse("Unknown model", status=404) 
    else: 
     return HttpResponse(mymodel.some_function()) # returns simplejson.dumps(num) 

을 - 다른 대답은 어떻게 접근 할 수 있는지 보여줍니다.

+0

먼저 빠른 답장을 보내 주셔서 감사합니다. simplejson하지만 같은 models.py 파일의 함수에서 직접 처리합니까? 이제 템플릿에 다음 jquery 플러그인을 사용하여 벡터 "num"을 그래프로 나타냅니다. 스크립트를 변경하려면 어떻게해야합니까? http://www.jqplot.com/tests/data-renderers.php – dottorg

+0

@dottorg가 내 대답을 조금 채워 줬습니다. –