python - 在 Django 中打印由 Python 函数创建的列表
问题描述
我想获取由以下函数(计数器列表)创建的列表,并将其打印在 HTML Django 模板上。我知道在 HTML 中我需要
{% for i in listofcounters %}
<p> {{ something here maybe? }} </p>
{% endfor %}
但真正的困惑来自函数的去向(在views.py 中?还是模型?),然后是如何获取它以便HTML 页面可以读取它。
另外,我知道我可能正在做的并不是呈现这些信息的“最佳”方式,但这是为了让我通过创建一个我感兴趣的玩具项目来更好地理解 Django。这不是为了“真实”的网站。所以,在这么说的时候,我要求你不要提出任何超出我最初问题的建议。那就是“这是我的功能,我怎样才能以 HTML 形式获得它的输出?” 除非你觉得不可能这样做。
from mtgsdk import Card
def findcounters():
listofcounters = []
cards_from_set = Card.where(set='iko').all()
for card in cards_from_set:
if "counter target" in str(card.text).lower():
listofcounters.append(card.name)
listofcounters = list(dict.fromkeys(listofcounters))
return listofcounters
解决方案
您可以将其包含在传递给视图内渲染的对象中。
from django.shortcuts import render
from mtgsdk import Card
def findcounters():
listofcounters = []
cards_from_set = Card.where(set='iko').all()
for card in cards_from_set:
if "counter target" in str(card.text).lower():
listofcounters.append(card.name)
listofcounters = list(dict.fromkeys(listofcounters))
return listofcounters
def my_view(request):
counters = findcounters()
return render(request, 'file.html', {'counters': counters})
然后将此视图导入 url,您就可以参加比赛了!
推荐阅读
- c# - 如何重构包含 foreach 循环的代码
- python - 如何绘制矢量化数学表达式函数?
- pagination - Talend - 如何从 tRestClient 检索响应标头
- karate - 如何避免在功能文件中编写的 JavaScript def 函数不打印在 html 报告中?
- google-cloud-storage - storage.cloud.google.com - Cookie 身份验证 - HTTP 403 / 浏览器使用多个身份登录时权限被拒绝
- postgresql - GitHub Actions:如何在 GithHub Actions 中连接到 Postgres
- hyperledger-fabric - Hyperledger Fabric:账本不同副本之间的冲突如何解决?
- asp.net - 如何在 ASP.NET 中分析 OpenIdConnectAuthentication 的性能问题?
- python - 如何在第一次出现后用符号替换所有字符而不影响大写?
- c++ - 如何跟踪储蓄账户中的 total_money(使用课程)?