我根据文档添加了LinkColumn,但没有生成链接。
此外,我尝试了django-tables2 linkcolumn multiple items in the same cell中提到的方法,但没有成功。
这是我的代码:
urls.py
....
url(r'user/edit/(?P<UserID>\d+)$', 'VMS.views.update_or_edit_user_profile', name='user-edit'),
url(r'user/edit/(\d+)$', 'VMS.views.update_or_edit_user_profile', name='user_edit'),
....
tables.py
import django_tables2 as tables
from models import UserProfile
from django.utils.safestring import mark_safe
from django.core.urlresolvers import reverse
class UserProfileTable(tables.Table):
linkstest1 = tables.LinkColumn("user-edit", kwargs={"UserID": tables.A("pk")})
class Meta:
model = UserProfile
# add class="paleblue" to <table> tag
attrs = {"class": "paleblue"}
column_name = tables.Column()
def render_column_name(self, record):
edit_url = reverse("user-edit", kwargs={"UserID": record.pk}, args=[record.pk])
return mark_safe('''<a href="%s" class="tbl_icon edit">Edit</a>''' % (edit_url))
视图:
def UserProfileList(request,template='User_List.html'):
Userprofiles = UserProfile.objects.select_related().all()
table = UserProfileTable(Userprofiles)
RequestConfig(request, paginate={"per_page": 25}).configure(table)
return render(request, template, {'table': table})
和模板:
{% extends "base.html" %}
{% load render_table from django_tables2 %}
{% block content %}
{% render_table table %}
{% endblock %}
唯一产生的是表格内的“ - ”。没有链接,没有错误信息,没有。
有什么想法吗?
django-tables2 0.15.0和django 1.6.5
答案 0 :(得分:2)
对于不属于模型的列,您需要添加empty_values
属性。
linkstest1 = tables.LinkColumn("user-edit", kwargs={"UserID": tables.A("pk")}, empty_values=())