Django {{c}}无法渲染

时间:2013-01-25 16:03:34

标签: django-templates

问题是我无法获得模板的价值。

Views.py:

from django.shortcuts import get_object_or_404, render_to_response
from django.httpimport HttpResponse


def index(request):
 c='hi'
 return render_to_response('list.html', c)

list.html:

{% extends "base.html" %}

{% block content %}
 list{{ c }}
{% endblock %}

它会导致list而不是{{ c }}会导致什么?它没有错误..

1 个答案:

答案 0 :(得分:1)

render_to_response期望其context to be a dictionary,而您直接传递字符串:

def index(request):
    context = { 'c': 'hi' }
    return render_to_response('list.html', context)

根据您在下面的评论,如果您希望“c”成为事物列表,则会看起来像这样:

def index(request):
    context = { 'c': ['hello', 'world'] }
    return render_to_response('list.html', context)

基本思想是,您要在模板中构建要引用的变量的映射。您在模板中引用的名称是字典中的 keys