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

Django路由匹配错误:/create-room/触发'id字段需数值'异常

问题解决方法

核心问题:路由匹配顺序错误

Django的URL路由是从上到下依次匹配的,你当前的urlpatterns中,<pk>/这个通用路由放在了create-room/前面,导致访问/create-room/时,Django会把create-room当作pk参数传入room视图,而Room模型的id是数字类型,所以抛出了"Field 'id' expected a number but got 'create-room'"的错误。

修正后的baseApp/urls.py

把create-room/路由移到<pk>/前面,确保具体路由先匹配:

urlpatterns = [
    path('', views.Home, name="home page"),
    path('create-room/',views.createRoom, name="create-room"),
    path('<pk>/', views.room, name="room"),
]

额外小问题修正

你的room_form.html里表单的method属性写错了,多了个等号,应该改成:

<form method="POST" action="">

这样修改后,访问172.0.0.1:8000/create-room/就能正常显示room_form.html页面了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 01:07:53