模板未显示通过传递参数使用视图函数从 sqlite 获取的数据(为空白)
Posted
技术标签:
【中文标题】模板未显示通过传递参数使用视图函数从 sqlite 获取的数据(为空白)【英文标题】:Template not showing data (is blank) fetched from sqlite using view function by passing a parameter 【发布时间】:2020-05-09 12:09:18 【问题描述】:我实现了一项功能,在从数据库中获取的每一行旁边都有一个“查看”按钮。单击它时,它会发送事件的id
以查看 URL。然后视图从 SQLite 中获取过滤后的数据;但它没有显示模板中的数据。
template.html
<td><a href="% url 'event' eid=ev.id %">View</a></td>
urls.py
path('<int:eid>', views.event_det, name='event'),
views.py
def event_det(request, eid):
data = Event.objects.filter(id=eid)
return render(request, 'event_details.html', 'event': data)
template.html 显示获取的输出
% for ev in event %
<div class="card mb-12">
<div class="row no-gutters">
<div class="col-md-12">
<img src="% static 'face_detector/datasets/9187/color-1.png' %" class="card-img" >
</div>
<div class="col-md-12">
<div class="card-body">
<h2 class="card-title"> ev.name </h2>
<p class="card-text"> ev.description </p>
<p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
</div>
</div>
...
【问题讨论】:
您确定您的对象过滤器正在返回任何数据吗? 是的,我也尝试使用其他字段,但只是为了确保这一点没有运气 我们能看到你所有的 urls.py。我想知道您是否错误地选择了另一个 url 路径。 在您的模板中,如果您添加类似<h1>Count of events is event.count </h1>
之类的内容,您会看到什么是 0 还是给您一个正整数?
@MattSeymour 你是对的。存在路径重复。谢谢你的努力
【参考方案1】:
一个常见问题是您的 urls.py 可能有重复的条目或重复的有效条目。在这种情况下,将评估并最终呈现要匹配的第一个路径。
请检查您的 urls.py 是否有任何可能被错误调用的路径。
【讨论】:
以上是关于模板未显示通过传递参数使用视图函数从 sqlite 获取的数据(为空白)的主要内容,如果未能解决你的问题,请参考以下文章
您如何通过传递参数从fllite中显示来自sqlite的特定数据
django - 将参数从模板传递到 models.py 的函数