提问人:Jorge López 提问时间:11/15/2023 最后编辑:Jorge López 更新时间:11/15/2023 访问量:50
带有 TemplateColumn 的 Django Tables2 视图不打印请求
Django Tables2 with TemplateColumn the View is not printing the request
问:
我正在尝试在我的视图中打印请求,但是当我单击“编辑”按钮(TemplateColumn)时没有任何反应,这就是我的代码:
tables.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"}
urls.py
urlpatterns = [
....
path('asistencia/<int:pk>/', CheckIn.as_view(), name='checkin')
]
views.py
class CheckIn(View):
def get(self, request):
print(request)
return redirect ('asistencia')
当我单击表格中的“Editar”按钮时,我的想法是获取 record.id,以便我可以添加一些额外的代码,但该按钮没有任何作用
更新
我检查按钮,看到链接正确:
该按钮仍然不执行任何操作
答:
0赞
Ben
11/15/2023
#1
使用自定义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>")
评论
0赞
Jorge López
11/15/2023
谢谢,我尝试了您的解决方案,但我仍然没有得到任何响应,就像它没有到达视图并提供响应一样
评论
http:local/asistencia/<int:pk>/