Django ile yeni hayatımın ikinci günü, lütfen sorumun sadeliğini affedin.Acemi: Django: Şablona geçmeden önce Queryset'e hesaplanmış sonuçlar ekleme
URL'ler, görünümler, modeller ve tüm bu güzel şeyleri kullanarak bir web sayfasının içeriğini başarıyla görüntülediğim mevcut bir DB tablosuna (salt okunur erişim) sahibim.
Sahip olduğum meydan okuma, göstermem gereken tüm bilgileri içermiyor. Tablo, sütunlar, örnekleme, örnek değer, örnekleyici ile test sonuçlarını içerir. Bu sütunlardan ne hesapladığımı temel alarak farklı veriler göstermem gerekiyor.
Son hedefim, flotr kullanarak bu bilgiyi zaman serisi grafiği olarak görüntülemek. Şimdilik kimliği sadece bir web sayfasındaki bir tabloya gereken verileri dökümü için mutlu olur.
- jssampletime,
Ne Kimliği şablonuna geçmek ister ise (Yani sonuçta elde edilen verileri görselleştirmek) oluşturmadan jssampletime ve resultva sorun değil
- (sampletime tarih saat nesne javaScript dönemin dönüştürülür ms)
'a ekleyeceğimi tahmin ediyorum. Yapmam gereken şey, see.py'de bir querySet üzerinde yineleme yapmam ve sonuçları şablona aktardığım sözlükler listesinde saklıyorum. Böyle bir şey (kod test edilmedi).
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 %}
Ben bu işe ama Django MVC yolu ise emin değilim düşünüyorum.
- Bir QuerySet sonucun üzerine interating tarafından views.py ihtiyaç sonucu hesaplamak, doğru ben mi?
- sonucumu bir şablona dict listesi olarak iletin ( 'dan daha fazla bir querysettir)?
Bazı yön ve kod ipuçlarını arıyorum. Doğru yolda mıyım? Daha iyi bir yolu var mı?
Mükemmel yüzden görünümünde gibi bir şey olabilir. Cevabınız modeller ve querysets'lere daha fazla ışık tuttu. Şimdi bu Django olayını almaya başlıyorum. Küçük adımlar. Şimdi temel bir web sayfasında görüntülenmesi gereken verileri aldım. Teşekkürler Cory, ninebladed –
emin şey, bu yardımcı oldu memnun. unutma cevap kabul edebilirsin ...;) – Cory