最近在学习《python 从入门到实战》,习题19-1中出现了一个错误,
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>
错误消失。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态