我正在尝试在我的视图中打印请求,但是当我单击“Editar”按钮(TemplateColumn)时没有任何反应,这就是我在代码中的内容:
表.py
import django_tables2 as tables
from django_tables2 import TemplateColumn
from .models import Vencimientos, LogAsistencia
class VencimientosTable(tables.Table):
asistencia = TemplateColumn(
'<a class="btn btn btn-info btn-sm" href="{% url "checkin" record.id %}">Editar</a>')
class Meta:
model = Vencimientos
template_name = "django_tables2/bootstrap5.html"
fields = ("cliente","vencimiento","activo" )
attrs = {"class": "table table-hover table-sm"}
url.py
urlpatterns = [
....
path('asistencia/<int:pk>/', CheckIn.as_view(), name='checkin')
]
views.py
class CheckIn(View):
def get(self, request):
print(request)
当我单击表中的“Editar”按钮时,我的想法是获取 record.id,以便我可以添加一些额外的代码。
使用自定义 render_ 方法来实现您想要做的事情。
from django.urls import reverse
from django.utils.html import format_html
class VencimientosTable(tables.Table):
asistencia = tables.Column(empty_values=())
def render_asistencia(self, record):
url = reverse("checkin", kwargs={"pk": record.id})
return format_html(f"<a class='btn btn btn-info btn-sm' href='{url}'>Editar</a>")