NoReverseMatch: Reverse for 'complete' with arguments '(1,)' not found. 1 pattern(s) tried: ['complete/']

后端 未结 3 1389
小蘑菇
小蘑菇 2021-01-22 10:34

urls.py

from django.conf.urls import url
from . import views

urlpatterns = [
url(\'\', views.index, name= \'index\'),
url(\'add\', views.addTodo, name =\'add\')         


        
3条回答
  •  孤独总比滥情好
    2021-01-22 11:14

    Well you wrote a path like:

        url('complete//', views.completeTodo, name='complete'),
    

    But here is part of the url, it does not denote a variable, etc. it means that there is only one url that will match: /complete/.

    In case you use django-2.x, you probably want to use path(..) instead:

        path('complete/', views.completeTodo, name='complete'),

    Furthermore in case todo_id is typically an integer, it is advisable to specify the type:

        path('complete/<int:todo_id>', views.completeTodo, name='complete'),

    For django-1.x, you can not use such path(..)s, and in that case you need to write a regular expression, like:

        url(r'^complete/(?P[0-9]+)$', views.completeTodo, name='complete'),

提交回复
热议问题