python - Django 模板正在打印对象表示而不是对象值
问题描述
views.py
@login_required
def ManageDomain(request):
AssocNotAuthDomains = Tld.objects.filter(FKtoUser_id=request.user,auth=0)
AssocAuthDomains = Tld.objects.filter(FKtoUser_id=request.user,auth=1)
return render(request, 'site/account/template.html', {
'AssocNotAuthDomains':AssocNotAuthDomains,
'AssocAuthDomains':AssocAuthDomains
})
template.html
{% if AssocAuthDomains or AssocNotAuthDomains %}
<div class="acctDomains">
<h3 class="Titles"><img src="{% static "img/templated/acct/AuthDomainSm.png" %}" width="22" height="22" alt="Authorized Domain(s)" /> Verified Domains</h3>
<ul>
{% for authdomain in AssocAuthDomains %}
<li>{{ authdomain }}<span><a class="scan" href="/Account/PerformScan/?d={{ authdomain }}">Scan now</span></a></li>
{% endfor %}
</ul>
<h3 class="Titles"><img src="{% static "img/templated/acct/UnAuthDomain.png" %}" width="22" height="22" alt="Unverified Domain(s):" /> Unverified Domains</h3>
<ul>
{% for notauthdomain in AssocNotAuthDomains %}
<li>{{ notauthdomain }}<span><a class="scan" href="Verify Now">Verify now</span></a></li>
{% endfor %}
</ul>
</div><!--acctDomains-->
这打印出来:
Tld object (1)
Tld object (2)
而不是值,例如websiteabc.com
我究竟做错了什么?
谢谢
解决方案
__str__
如果要呈现这样的模型实例,则必须在模型中实现
class Tld(models.Model):
def __str__(self):
# return something meaningful here like self.some_attribute
或者您必须像这样在模板中显式使用属性
{{ authdomain.some_attribute }}
否则,python 不知道如何从要显示的对象中获取有意义的东西。
推荐阅读
- javascript - 带有手机号码的 POST 请求不起作用 - 消息:“手机号码字段是必需的。↵”
- json - 如果我的 json 看起来像这样,我需要一个或多个实体吗?弹簧靴
- scala - 如何使用凿子模块作为包
- php - 调用未定义的函数权限()
- jenkins - 如何将“选择”参数发送到下游詹金斯工作?
- uipath - 通过命令行在多台机器上安装 UiPath Robot,无需配置即可快速部署
- xcode - 看看这个,告诉我我错过了什么
- emscripten - 致命:必须设置初始堆栈指针,共享:错误
- google-apps-script - 如何从某些列的内容创建 *.csv 文本文件?
- reactjs - 使用上下文在 react 应用的根目录中配置 apollo 链接