django-tables2 - LinkColumn中没有生成链接

时间:2014-06-21 12:05:02

标签: python django django-tables2

我根据文档添加了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

1 个答案:

答案 0 :(得分:2)

对于不属于模型的列,您需要添加empty_values属性。

 linkstest1 = tables.LinkColumn("user-edit", kwargs={"UserID": tables.A("pk")}, empty_values=())

Doc