首页 > 解决方案 > 使用关键字参数 '{'id_operation': ''}' 反转 'operation_info'

问题描述

我在尝试通过模板传递参数时遇到了这个问题

这是我的 urls.py

path('Operation/Info/<id_operation>',views.operation_info,name='operation_info'),

这是我的模板

{% for o in operation_list %}
                <tr><td><a href="{% url 'operation_info' id_operation=c.id %}">link</a></td></tr>
            {% endfor %}

这是我的观点:

def caravane_info(request,id_caravane):
    connected = request.user.is_authenticated
    if connected:
       U_ID = request.user.id
       F = Membre.objects.get(userr_id=U_ID)
       bureau_level = F.Grade_bureau
    caravane = Caravane.objects.get(id=id_caravane)
    return render(request,'Bureau/operation_info.html',locals())

标签: django

解决方案


在您的模板中,您使用:

{% url 'operation_info' id_operation=c.id %}

c不是范围内的变量。变量的名称是o,所以:

{% url 'operation_info' id_operation=o.id %}

注意:请不要locals()将变量传递给函数时 使用render(…),这会使您不清楚传递给模板的确切内容。这使得调试模板变得更加困难,并且 IDE 无法帮助确定哪些变量是无用的,最好使用显式字典。


推荐阅读