首页 > 解决方案 > 我正在尝试在 django 中制作表格打印页面,但是当我通过 dict 传递多个值时,它只打印第一个值

问题描述

视图.py

def inp(request):
    return render(request,'inp.html')
def tab(request):
    num1 = dict()
    number =int (request.GET.get('num'))
    for i in range(1,11):
        num1[i] = number*i
    for key in num1:
        print(num1[key])
        return render(request,'tab.html',{"result" : num1[key]})

inp.html

<!DOCTYPE html>
<html>
    <head>
        <title>table</title>
    </head>
    <h1>Enter The Number Which You Want For Table</h1> 
 <body>
  <form action ="tab/" method="get">
      Enter a Number:<input type = "text" name ="num">
      <input type = "submit">
</form>
 </body>   
</html>

选项卡.html

<!DOCTYPE html>
<html>
    <head>
        <title>output</title>
    </head>
 <body>
 your answer is {{result}}<br>
 your answer is {{result}}<br>
 your answer is {{result}}<br>
 your answer is {{result}}<br>
 your answer is {{result}}<br>
 your answer is {{result}}<br>
 your answer is {{result}}<br>
 your answer is {{result}}<br>
 your answer is {{result}}<br>
 your answer is {{result}}<br>


 </body>   
</html>`enter code here`

 - List item

标签: pythondjangorender

解决方案


修改选项卡功能

 def tab(request):
        num1 = dict()
        number =int (request.GET.get('num'))
        for i in range(1,11):
            num1[i] = number*i

        return render(request,'tab.html',{"result" : num1})

修改模板

<!DOCTYPE html>
<html>
    <head>
        <title>output</title>
    </head>
 <body>
 {% for value in result.values %}
 your answer is {{value}}<br>
{% endfor %}

 </body>   
</html>

推荐阅读