【问题标题】:Django template is not displayingDjango 模板不显示
【发布时间】:2016-10-03 18:09:36
【问题描述】:

假设我的模型包含数据,我有 myapp/views.py:

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)

myapp/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"),]

输出是一个仅呈现 base.html 模板的页面,正文中没有内容。我的视图函数或模板渲染有什么问题?我应该从 TemplateView 继承吗?

【问题讨论】:

  • 如果打印plays_list,肯定不是空的吗?
  • 是的,plays_list 打印出来,格式为 {'plays': [, , ]}
  • 您是否在您的base.html 中声明了{% block content %} {% endblock %}
  • 你也可以添加你的 base.html 吗?
  • 试试{% for play in plays %}

标签: django django-templates


【解决方案1】:

您不会将任何名为 context_list 的内容传递给模板。您传递的是该字典的 contents,在本例中为 plays

【讨论】:

  • 和@trantu 谢谢 - 我相信我一直在将 context_list 实例传递给模板,而不是实例的内容。
  • @DNburtonguster 最后是怎么解决的??
猜你喜欢
  • 2016-03-21
  • 2011-11-02
  • 1970-01-01
  • 2017-02-15
  • 2016-12-13
  • 2020-08-03
  • 1970-01-01
  • 2013-02-17
相关资源
最近更新 更多