如何使用从一个模板到另一个模板的任何主键进入详细信息视图?

时间:2019-06-27 19:15:44

标签: django django-templates django-views

我使用函数制作了列表视图和详细视图。在这里,我获得了查询集。在列表视图中获得了查询数据,但是在URL部分传递pk的模板中,我在列表视图中获得了查询数据。

我将league/<int:pk>/放在了详细视图的路径中,并将列表视图模板中的{% url 'league-detail' match.pk %}放在了href ... bt中,发生了错误:League()得到了意外的关键字参数pk < / p>

网址:

path('leagues/', views.league, name='league'),
path('league/<int:pk>/', views.league_detail, name='league-detail'),

观看次数:

match = Match.objects.all()

列表视图和详细信息视图相同

模板:

{% url 'league-detail' match.pk %}

但错误是:

league() got an unexpected keyword argument 'pk'

我需要通过使用queryset获取实际数据来进入league-detail模板

1 个答案:

答案 0 :(得分:0)

我不太理解您的问题,但是出现意外的参数错误的原因主要是您试图在URL中传递“ match.pk”而不在url文件中进行定义

所以可能是这样的:

path('league/<int:pk>', views.league_detail, name='league-detail')

然后在League_detail函数中,

def league_detail(pk):
     // code goes here

我也不确定,但是这样做之后,您可能需要像这样在模板中传递pk:

{% url 'league-detail' pk=match.pk %}