TypeError at /**/ ** missing 1 required positional argument: '**'

 2023-09-23 阅读 15 评论 0

摘要:最近在学习《python 从入门到实战》,习题19-1中出现了一个错误, TypeError at /edit_post/ edit_post() missing 1 required positional argument: 'post_id' 如下图所示: 如上图所示,类型错误,edit_post缺少一个要求的位置参数&#

 最近在学习《python 从入门到实战》,习题19-1中出现了一个错误,

TypeError at /edit_post/

edit_post() missing 1 required positional argument: 'post_id'

如下图所示:

如上图所示,类型错误,edit_post缺少一个要求的位置参数:post_id,其中blogs的url.py 的代码如下:

urlpatterns = [
    path('', views.index,name='index'),
    path('new_post',views.new_post,name='new_post'), 
    path('edit_post/',views.edit_post,name='edit_post'),
]

问题就出现在第三行,此种情况下打开这个网页需要一个post_id参数,但第三行的path路径里却没有这个参数,所以显示此错误(view.py 此视图的声明为edit_post(request,post_id)),将第三行改为:

 path('edit_post/<int:post_id>',views.edit_post,name='edit_post'),

同时在html里对此视图的引用改为:<a href="{% url 'blogs:edit_post'  post.id %}">edit post</a>

错误消失。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/92293.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息