找不到带有参数“('',)”的“ todo-user”。尝试了1个模式

时间:2019-03-22 15:23:03

标签: python django django-templates django-views django-urls

我试图在单击链接时添加用户,但是出现以下错误:

  

找不到带有参数'('',)'的'todo-user'的反向。尝试了1个模式:['todo /(?P [^ /] +)/ $']

我的views.py

def todo_user(request, todo_id):
    todo.username.add(request.user)
    todo.save()
    return render(request, '/')

模板

<a href="{% url 'todo-user' todo.id %}"></a>

Urls.py

path('validate/<todo_id>/', views.todo_user, name='todo-user),

用于模板渲染的Views.py:

def home(request, token):
            todo_instance = get_object_or_404(Todo, token=token)
            context = {
                'token': todo_instance.token,
                'name': todo_instance.name,
       }
       return render(request, '/', context)

谢谢你们!

1 个答案:

答案 0 :(得分:0)

在模板中,您引用的是todo变量:

<a href="{% url 'todo-user' todo.id %}"></a>

,但是在用于呈现模板的上下文中,未定义此类变量。添加

'todo': todo_instance

根据您的情况。您可以删除“令牌”和“名称”,并在模板中使用{{ todo.name }}