You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django HTML页面不显示Model字段值仅显示对象(1)怎么解决?

问题原因

你视图层传递给模板的变量是整个Measurements模型实例对象,而非该对象的distance字段值,模板渲染时会默认调用对象的__str__方法输出字符串标识,也就是你看到的Measurements object (1)。同时你的代码还有两处潜在错误会引发后续功能异常。

修复方案
    1. 修正views.py的上下文赋值逻辑
      同时注意get_object_or_404需要传入筛选参数指定要查询的对象,无参数调用会抛出查询异常,示例取主键为1的对象如下:
from django.shortcuts import render, get_object_or_404
from .models import Measurements
# Create your views here.

def calculate_distance_view(request):
    # 补充查询参数,比如指定pk=1,按需替换为你的实际筛选条件
    obj = get_object_or_404(Measurements, pk=1)

    context = {
        # 改为传递对象的distance字段
        'distance' : obj.distance,
    }

    return render(request, 'measurements/main.html', context)

如果你需要保留整个对象传递到模板,也可以不修改视图,直接调整模板的取值写法为:

Calculate distance {{distance.distance}}
    1. 修正forms.py的两处错误
      首先类名拼写错误,其次单个字段的元组声明需要加后缀逗号,否则会被识别为字符串导致表单字段读取失败:
from django import forms
from .models import Measurements

# 修正类名拼写错误
class MeasurementModelForm(forms.ModelForm):
    class Meta:
        model = Measurements
        # 补充逗号声明为元组
        fields = ('distance',)

内容的提问来源于stack exchange,提问作者The Ultraempoleon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 00:45:05