python - __str__ 返回非字符串(浮点类型)
问题描述
这种类型的题虽然很多,但没有一个是浮点型的。我正在尝试向我的 django 模板发送一个浮点值。
models.py
:
class BudgetInfo(models.Model):
items= models.CharField(max_length=20)
cost= models.FloatField(blank=False, null=True)
date_added= models.DateField()
user= models.ForeignKey(User, on_delete= models.CASCADE)
def __str__(self):
return self.cost
views.py
(登录后将其重定向到此视图):
def app_view(request):
budget_qs=BudgetInfo.objects.filter(user=request.user)
budget=budget_qs[0]
return render(request,'tasks_notes/index.html',{'budget':budget})
index.html
使用预算:
<div class="container center">
<h3 class='center'>Your total budget is: <span style="color:green;">{{ budget|floatformat:"-2" }}</span> dollars</h3>
我收到这种类型的错误:
__str__ returned non-string (type float)
突出显示此处提到的 html 的第二行。我该如何解决这个问题?
解决方案
__str__ 必须始终返回字符串
似乎这对你有帮助
def __str__(self):
return str(self.cost)
推荐阅读
- mysql - 在插入时禁用 innodb_log_file 写入,AWS
- javascript - D3 奇怪地附加 tbody 每隔一个渲染
- google-maps - InfoWindow“在 Google 地图上查看”链接
- aws-lambda - 使用 Amplify 为 AppSync 自动化 Lambda 解析器?
- go - 将在所有其他处理程序之前运行的中间件
- swift - 来自 URL NSString 的数据作为 NSInteger 代替
- php - 使用 PHP 的 Curl API 调用
- php - 无法展开 HTTP 请求
- c# - ASP.NET MVC;编译到 x64 与 64 位的任何 CPU,有什么区别?
- c# - 如何限制 Quaternion.Slerp() 函数的旋转