【问题标题】:django-tables2 header row urls wrong....can't sortdjango-tables2 标题行网址错误....无法排序
【发布时间】:2017-11-26 17:54:11
【问题描述】:

我不知道如何解决有关排序表的问题: 表在此 url 呈现: 127.0.0.1:8000/ip_teams/

但是当我点击列名对表格进行排序时,url变成了: 127.0.0.1:8000/?sort=name 它不包括“ip_teams/”路径。

这是我的看法:

class FoundationIPTypeList(SingleTableView):

    model = tracker_models.FoundationIPType
    table_class = tables.FoundationIPTypeTable

这是我的桌子:

class FoundationIPTypeTable(django_tables.Table):
    class Meta:
        model = FoundationIPType
        attrs = {'class': "table table-striped table-condensed table-hover"}
        fields = ["name", "help_contact_email"]

这是我的网址:

urlpatterns = [

#    url(r'^$', views.HomePageView.as_view(), name='home'), # Notice the URL has been named
    url(r'^about/$', views.AboutPageView.as_view(), name='about'),
    url(r'^ip_teams/$', views.FoundationIPTypeList.as_view(), name="ip_team_list"),

这是我的模板:

{% extends "base.html" %}
{% load render_table from django_tables2 %}


{% block pagecontent %}
<h1><center>Foundation IP Teams</center></h1>

<div class="container">
  <div class="panel panel-primary">
       {% render_table table %} 
  </div>
</div>

{% endblock %}

任何想法有什么问题吗?似乎无法在任何地方找到答案。我认为这个功能开箱即用。

表格标题行:

    <thead>
    <tr>


        <th class="name orderable"><a href="?sort=name&amp;name=unknown">Name</a></th>



        <th class="help_contact_email orderable"><a href="?sort=help_contact_email&amp;name=unknown">Help Contact Email</a></th>


    </tr>
</thead>

【问题讨论】:

  • 您是否尝试过使用django-tables2.readthedocs.io/en/latest/pages/filtering.html 中的表格过滤示例?尝试使用它,然后为您的项目添加您需要的任何自定义。
  • @Jieter 我从django-tables2.readthedocs.io/en/latest/pages/… 开始,然后找到了一种更通用的方法,这就是我在原始评论中列出的方法。您的评论指的是过滤,我什至无法让基本的东西工作,就像让列的手段工作一样。 django-tables2 创建的 url 不正确。
  • 是的,但是您使用了我没有测试/运行的自定义代码。所以这就是为什么我建议使用非定制的东西开始。如果您还不想要过滤,请使用您链接到的示例,并相应地更新您问题中的代码。
  • @Jieter 我想从 SingleTableMixin 和 FIlterView 继承还是从 SingleTableView 继承?我对采取什么方法感到困惑。我尝试使用我给出的简单示例不使用任何自定义代码,但发生了同样的情况......在 url 中没有“ip_teams”进行排序并且过滤不再起作用。
  • 首先,尝试从SingleTableView继承。如果这导致工作网址,请尝试更改为从 (SingleTableMixin, FilterView) 继承

标签: django sorting django-tables2


【解决方案1】:

Django-tables2 使用添加排序参数的相对 url。只要文档不包含 base 标记,这就会起作用,这会改变页面中任何相对 url 的基础。

删除&lt;base&gt; 标签将解决您的问题。

【讨论】:

    猜你喜欢
    • 2017-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多