[Answered ]-Django "Method \"POST\" not allowed."

1👍

Just change your URL pattern. It is a URL pattern conflict, that create-truck-pattern tries to get the truck with pk:create. The standard solution is to change the type of pk from str to int. But the other solution is to change URL priority in your patterns and move create-truck on step upper.

Recommended solution:

urlpatterns = [
    path('trucks/', views.getTrucks, name="trucks"),
    path('trucks/<int:pk>/', views.getTruck, name="truck"),
    path('trucks/create/', views.createTruck, name="create-truck"),
    path('trucks/delete/<str:pk>/', views.deleteTruck, name="delete-truck"),
    path('trucks/update/<str:pk>/', views.updateTruck, name="update-truck"),
]

other solution:

urlpatterns = [
    path('trucks/', views.getTrucks, name="trucks"),
    path('trucks/create/', views.createTruck, name="create-truck"),
    path('trucks/<str:pk>/', views.getTruck, name="truck"),
    path('trucks/delete/<str:pk>/', views.deleteTruck, name="delete-truck"),
    path('trucks/update/<str:pk>/', views.updateTruck, name="update-truck"),
]
👤mrash

Leave a comment