Ich versuche, einen Wert aus zwei benutzerdefinierten Variablen in meiner Detailansicht Vorlage erstellen. Ich habe versucht, Jinja zu verwenden, um Mathe innerhalb des HTML zu tun, aber fand dann, dass der bevorzugte Weg, Variablen innerhalb der apps views.py Datei zu schaffen ist. Ich habe ein paar widersprüchlichen Möglichkeiten hier gefunden, was ich habe zur Zeit:Django Variablen anzeigen
def meter_variables(request):
GvData.incoming_meter_daily_total = (GvData.incoming_meter_1_close - GvData.incoming_meter_1_open)
+ (GvData.incoming_meter_2_close - GvData.incoming_meter_2_close)
return render(request, 'geneva/geneva_record.html',
{'incoming_meter_daily_total': GvData.incoming_meter_daily_total})
in meinem html Ich habe:
<td><input type="number" class="form-control" placeholder="Daily Total"
value="{{ incoming_meter_daily_total }}"/>
</td>
Es bietet keinen Wert. Ich denke, ich greife falsch auf die Werte vom Modellobjekt zu, aber ich bin mir nicht sicher, wie genau.
Meine Klasse in models.py sehr lang, aber alle Felder sind eine Variation:
class GvData(models.Model):
gv_01_open_stock = models.FloatField(default=0)
gv_02_open_stock = models.FloatField(default=0)
Meine Ansichten haben sich mit Klassenansichten erstellt:
class IndexView(generic.ListView):
template_name = 'geneva/index.html'
def get_queryset(self):
return GvData.objects.all()
class RecordView(generic.DetailView):
model = GvData
template_name = 'geneva/geneva_record.html'
Ich entfernte das Objekt. aus dem incoming_meter_daily_total. Es liefert immer noch keinen Wert. Der Platzhalterwert wird angezeigt, mein Code oben wurde aktualisiert, um ihn neu zu definieren. –
Greifen Sie auf die Daten in den Modellen wie diesem zu? Wenn das der Fall ist, sehe ich nicht das Objekt, das von der Modellklasse erstellt wurde, und bekomme auch nicht den Datensatzeintrag, der die Daten enthält, mit denen Sie arbeiten möchten. Machst du das an irgendeinem anderen Ort in deinem Ansichtscode? –
Ich habe hinzugefügt, wie meine Ansichten im obigen Code zusammengesetzt sind. Ich weiß, dass ich ein Missverhältnis habe, ich kann es einfach nicht herausfinden. Ich habe versucht, ähnlichen Code der Detailansicht-Funktion ohne Erfolg hinzuzufügen. Vielen Dank für Ihre Zeit, es ist geschätzt. –