在djang中传递html模板中的变量

2024-03-29 16:04:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在一个html django模板中创建一个带有select的表单:我从一个txt文件中读取值并将其存储在dict中,当我调用render to response时,我传递这个dict,但是当我试图在模板中打印它的值时,它不会打印任何内容。 以下是我的观点:

def home(request):

   i=0
   d = {}
   with open("static/my_file.txt") as f:
      for line in f:
        key=i
        val = line.rstrip()
        d[int(key)] = val
        i=i+1

   return render_to_response('home.html', var=d)

这是html模板中的打印:

^{pr2}$

能帮我吗?在


Tags: 文件todjangokeytxt模板表单home
3条回答

Django documentation for ^{}-loops in templates表明dict的语法略有不同。尝试:

{% for key, value in var.items %}
    {{ value }}
{% endfor %}

试试这个代替上面的jinja文件。 如果您只需要var的值,并且var是字典,那么下面的代码将适合您。在

{% for val in var.values() %}
   {{ val }}
{% endfor %}

视图中有错误,需要将上下文作为字典传递 从django.快捷方式导入渲染器

def home(request):

   i=0
   d = {}
   with open("static/my_file.txt") as f:
      for line in f:
        key=i
        val = line.rstrip()
        d[int(key)] = val
        i=i+1

   return render(request,'home.html', {'var':d})

相关问题 更多 >