我有这个视图功能来从AWS Dynamodb获取用户ID和帐号:
def dsctbl2(request):
dynamodb=boto3.client('dynamodb', region_name='us-west-2')
response = dynamodb.scan(
TableName='User-Account')
filtered = response['Items']
length = len(filtered)
for k in range(length):
accnum = filtered[k]['AccountNum']['S']
uid = filtered[k]['UserId']['S']
f = dict(AccountNum=accnum,userID=uid)
rows = list(f.items())
return render('useradd.html',{'rows': rows})
我已经尝试了几乎所有东西,但行值却没有传递给我的模板。我甚至尝试传递一个简单的字符串值,甚至没有通过。这是我的模板表,我希望显示userid和accountnum。
<div class="mytable">
<table>
<thead>
<tr>
<th>Account #</th>
<th>User Id</th>
</tr>
</thead>
<tbody>
{% for row in rows %}
<tr>
<td>{{ row.AccountNum }}</td>
<td>{{ row.UserId }}</td>
</tr>
{% endfor %}
</table>
</div>
当我点击模板时,没有任何显示。除表格标题外,没有显示任何值。为什么渲染没有将我的视图中的上下文变量(列表值)传递给模板?我被困了大约6个小时!有人可以解决这个问题吗?
答案 0 :(得分:2)
return render(request,'useradd.html',{'rows': rows})
您需要将请求作为第一个参数传递,