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

Django提交作业反复报错‘未找到Price’,请求技术帮助

解决Django作业"Could not find 'Price' Did not find price on detail page"报错的步骤
  • 核对模板字段名与模型完全一致
    打开ad_detail.html,确认渲染价格的代码和模型里的字段名完全匹配——比如模型是price全小写,模板里就不能写成Price首字母大写,也别把price拼写成prize。同时要确认上下文变量正确,比如视图传的是ad对象,模板里就得写{{ ad.price }},不能用错变量名。

  • 同步PythonAnywhere的代码与本地版本
    登录PythonAnywhere的文件管理器,检查views.py和ad_detail.html是否和本地测试没问题的代码完全一样。很多时候本地改了代码,但没同步到服务器,导致服务器用的还是旧版本。

  • 确认视图正确传递含price字段的对象
    查看views.py的详情视图函数,确保它从数据库取的对象包含price字段,并且正确传到模板上下文。比如:

    def ad_detail(request, ad_id):
        ad = get_object_or_404(Ad, pk=ad_id)
        return render(request, 'ad_detail.html', {'ad': ad})
    

    要保证Ad模型确实有price字段,而且没在查询时用only()排除掉这个字段。

  • 重启PythonAnywhere应用并清理缓存
    去PythonAnywhere的Web页面点"Reload"重启应用,有时候服务器会缓存旧的模板或视图内容。也可以手动删掉项目里的__pycache__文件夹,清除缓存文件。

  • 在PythonAnywhere上直接验证数据与页面源码
    登录PythonAnywhere控制台,运行python manage.py shell,手动查一个Ad对象确认price有值:

    from yourapp.models import Ad
    ad = Ad.objects.first()
    print(ad.price)
    

    要是这里能输出正确值,就去浏览器打开详情页,右键看页面源代码,搜索price相关内容,确认页面里是渲染好的数值,不是没解析的模板标签{{ ad.price }}。

  • 检查作业测试的格式要求
    有些课程自动测试会要求price字段放在特定HTML标签里,比如带class="price"的span标签。仔细看作业提交说明,确认是不是没满足格式要求,导致测试识别不到price。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 12:12:09