Django를 사용한 새로운 삶의 2 일째, 제 질문의 단순함을 변명하십시오.초보자 : Django : 템플릿에 전달하기 전에 Queryset에 계산 된 결과 추가
URL,보기, 모델 및 모든 유용한 정보를 사용하여 웹 페이지의 내용을 성공적으로 표시 한 기존 DB 테이블 (읽기 전용 액세스)이 있습니다.
내가 가진 도전은 테이블에 표시해야하는 모든 정보가 포함되어 있지 않다는 것입니다. 테이블에는 sampletime, sampletime, samplevalue 열이 포함 된 테스트 결과가 들어 있습니다. 나는 그 열에서 계산 한 것에 기초하여 다른 데이터를 표시해야합니다.
제 최종 목표는이 정보를 flotr을 사용하여 시계열 그래프로 표시하는 것입니다. 지금 이드 그냥 웹 페이지에 테이블에 필요한 데이터를 덤프 드리겠습니다.
- jssampletime,이
무엇 이드 템플릿에 전달하고자하는 것은 (그래서 결과 데이터를 시각화 할 수 있습니다) 내가 만드는 jssampletime와 resultva와 괜찮아
-합니다 (sampletime의 날짜 객체가 자바 스크립트 시대로 전환 MS)
내가 views.py에서 querySet을 반복하고 결과를 템플릿에 전달하는 사전 목록에 저장해야한다고 생각한다. 이 같은 (코드 테스트되지 않음).
views.py
# views.py
# Sudo code to assit in asking the question
from django.shortcuts import render_to_response
from thing.reporter.models import Samples
def _datetime_to_js(sampletime):
#.. date conversion epoch magic
return jsd_result
def _rolling_sum(samplevalue,sampleresult):
#.. summing magic
return sum_result
def dumptable(request): # The def that is called by urls.py
object_list = Samples.objects.all()
list_for_template = []
for row in object_list:
jssampletime = _datetime_to_js(row.sampletime)
resultvalue = _rolling_sum(row.samplevalue,row.sampleresult)
list_for_template.append({'jssampletime':jssampletime,'resultvalue':resultvalue})
return render_to_response('tabledump.html', {'result_list': list_for_template})
tabledump.html
# tabledump.html template
{% block content %}
<h2>Results dumped to page for testing</h2>
<ul>
<table>
{% for result in result_list %}
<tr>
<td>{{ result.jssampletime }}</td>
<td>{{ result.resultvalue }}</td>
</tr>
{% endfor %}
</table>
</ul>
{% endblock %}
나는이 작업을하지만 장고 MVC 방식 인 경우 임 확실하지 않은 것 같아.
는
- 내가의 검색어 결과를 통해 interating에 의해 views.py에서 필요로하는 결과를 계산, 그것은 바로 그 I인가?
- 내 결과를 템플릿에 dict (예 : 이상의 queryset) 목록으로 전달 하시겠습니까?
나는 어떤 방향과 코드 팁을 찾고있다. 나는 올바른 길에 있습니까? 더 좋은 방법이 있습니까?
우수한 그래서보기에 당신은 뭔가를 가질 수있다. 당신의 대답은 모델과 쿼리 세트에 더 많은 빛을 발산합니다. 이 장고를 지금 시작하고 있습니다. 작은 계단. 기본 웹 페이지에 표시해야하는 데이터가 있습니다. 감사합니다 코리, ninebladed –
확실한 것, 다행했습니다. 대답을 수락 할 수 있다는 것을 잊지 마세요 ...;) – Cory