2016-06-03 6 views
2

Unter der Annahme, meine Modelldaten enthält, ich habe myapp/views.py:Django-Vorlage ist die Anzeige nicht

from django.template import RequestContext 
from django.shortcuts import render 
from .models import History 
import datetime 

def live_view(request): 
    context = RequestContext(request) 
    plays_list = History.objects.filter(date=datetime.date(2016,04,22)) 
    context_list = {'plays':plays_list} 
    return render(request,'live.html',context_list) 

frontend/templates/live.html:

{% extends 'base.html' %} 
{% block content %} 
{% for key, value in context_list.items %} 
    {{ value }} 
{% endfor %} 
{% endblock %} 

myapp/urls.py:

from myapp.views import live_view 

urlpatterns = [url(r'^live/$', live_view, name="live"),] 

Die Ausgabe ist eine Seite, die nur die Vorlage base.html rendert, ohne Inhalt im Textkörper. Was ist falsch mit meiner Ansichtsfunktion oder dem Template-Rendering? Soll ich von TemplateView erben?

+0

Wenn Sie plays_list drucken, ist es definitiv nicht leer? – Brendan

+0

Ja, plays_list wird ausgegeben und hat die Form {'plays': [, , ]} – DNburtonguster

+0

Haben Sie '{% block content%} {% endblock%} deklariert? 'in deiner' base.html'? – trantu

Antwort

2

Sie übergeben nichts an die Vorlage context_list genannt. Was Sie übergeben, ist der Inhalt dieses Diktats, das in diesem Fall nur plays ist.

+0

und @trantu danke - Ich glaube, ich habe die context_list-Instanz an die Vorlage übergeben, anstatt den Inhalt der Instanz. – DNburtonguster