如何将变量从模板发送到路径并在相关视图函数中使用它?

How to send variable from Template to Path and use it in a related view function?

基本上,我有人员列表,我想为每个人实现一个详细信息功能,这样每当我单击 table 中特定人员行以外的视图时,它应该将人员的 ID 发送到urls.py 中的路径,然后将调用相应的视图函数。我尝试了一些方法并添加了下面的代码,但它不起作用。感谢阅读。

template.html

                        <tbody>
                        {% for del in delegates %}
                        <tr>
                            <td>{{ del.id }}</td>
                            <td>{{ del.first_name }} {{ del.last_name }}</td>
                            <td>{{ del.email }}</td>
                            <td>{{ del.phone }}</td>
                            <td>{{ del.company }}</td>
                            <td>{{ del.designation }}</td>
                            <td>{{ del.address }}</td>
                            <td>{{ del.city }} ({{ del.pincode }})</td>
//MY VIEW DETAIL BUTTON     <td><a href="{% url 'delegate_details' del_id=del.dataset_id %}">View</a></td>
                        </tr>
                        {% endfor %}
                        </tbody>

urls.py

from django.urls import path
from django.conf.urls import url
from . import views
urlpatterns = [
    path('', views.index),
    path('view-delegates', views.view_delegates),
    path('delegate-details', views.delegate_det),
    url(r'^delegate/(?P<del_id>[0-9]+)$', views.delegate_det, name='delegate_details'),
]

views.py

def delegate_det(request, dataset_id):
    # data = Delegate.objects.all()
    data = Delegate.objects.filter(dataset_id=dataset_id)
    return render(request, 'delegate_details.html', {'delegate': data})

P.S: 我是Python

的初学者

您必须按如下方式更正您的观点url和模板。

def delegate_det(request, dataset_id):
    data = get_object_or_404(Delegate, dataset_id=dataset_id)
    return render(request, 'delegate_details.html', {'delegate': data})

url

path('delegate/<int:dataset_id>', views.delegate_det, name='delegate'),

在您的列表模板中

<td><a href="{% url 'delegate' dataset_id=del.dataset_id %}">View</a></td>