我试图在单击链接时添加用户,但是出现以下错误:
找不到带有参数'('',)'的'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)
谢谢你们!
答案 0 :(得分:0)
在模板中,您引用的是todo
变量:
<a href="{% url 'todo-user' todo.id %}"></a>
,但是在用于呈现模板的上下文中,未定义此类变量。添加
'todo': todo_instance
根据您的情况。您可以删除“令牌”和“名称”,并在模板中使用{{ todo.name }}
。