Reverse for xxx with no arguments not found错误原因定位

更改项目代码后,进入new_train_item.html时,出现了一个错误:Reverse for ‘train_type’ with no arguments not found. 1 pattern(s) tried: …
为什么会出现这样的错误?
先分析一下错误提示:不带参数的train_type逆解析时没有找到。就是说,你要逆解析一个地址,这个地址是不带参数的‘train_type’。
出现这样的问题提示,你首先要检查html页面的\<a href=’…’>代码部分,查看一下哪条超链接是指向train_type视图函数的。然后你转到views.py文件,查看一下train_type视图函数是不是在定义的时候,除了request,还有别的形参。例如,我的是:

def train_type(request,train_type_id):
    train_type = Train_Type.objects.get(id=train_type_id)
    train_items =
train_type.train_items_set.order_by('item_number')
    context = {'train_type':train_type,'train_items':train_items}
    return render(request,'train_plan/train_type.html',context)    

这说明你在HTML页面,定义超链接代码时,你必须传递一个值给形参train_type_id。
<p>
<a href="{% url ‘train_plan:train_type’ train_type.id %}">
{{ train_type }}
</a>
</p>

当超链接代码中没有train_type.id这个值时,就会出现Reverse for ‘XXX’ with no arguments not found错误

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值