如何将变量从模板发送到路径并在相关视图函数中使用它?
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>
基本上,我有人员列表,我想为每个人实现一个详细信息功能,这样每当我单击 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>