2016-05-04 5 views
2

Im пытается конвертировать мои таблицы в моем приложении django к datatables using django-tables2.Django Datatables view

Im мой campaigns.py вид у меня есть:

class CampaignListView(FacebookAdInit): 
    """ CampaignListView for viewing all the campaigns""" 

    def get(self, request, *args, **kwargs): 
     ad_account = self.get_ad_account(kwargs.get('ad_account_id')) 

     campaigns = self.get_campaigns(ad_account.get('id')) \ 
      if ad_account else None 
     context = {'campaigns': campaigns, 'ad_account': ad_account} 

     return render(request, 'app/campaigns/index.html', context) 

Im мой campaigns/index.html у меня есть:

{% extends "app/empty_page.html" %} 
{% load render_table from django_tables2 %} 
{% block content %} 
      {% if ad_account %} 
         {% render_table context %} 
      {% endif %} 

{% endblock %} 

Однако это дает мне ошибку: Expected table or queryset, not 'str'. Любая помощь будет оценена greately.

Прямо сейчас я произвожу таблицу, используя этот кусок кода:

   <table class="table table-bordered table-striped" id="campaigns"> 
        <thead> 
        <tr> 
         <th> #</th> 
         <th> Campaign Name</th> 
         <th> Campaign Objective</th> 
         <th> Campaign Effective Status</th> 
        </tr> 
        </thead> 
        <tbody> 
        {% for campaign in campaigns %} 
         <tr> 
          <td> {{ forloop.counter }} </td> 
          <td> 
           <a href="/ad_accounts/{{ ad_account.id }}/campaigns/{{ campaign.id }}/ad_sets"> 
            {{ campaign.name }} </a> 
          </td> 
          <td> {{ campaign.objective }}</td> 
          <td> {{ campaign.effective_status }} </td> 
         </tr> 
        {% endfor %} 
        </tbody> 
       </table> 
+0

Опубликовать всю трассу, пожалуйста? – trinchet

+0

Traceback показывает, что я опубликовал. Сообщение об ошибке и строка '{% render_table context%}' выделены highlited – newkid101

ответ

1

Вы должны пройти Table экземпляр или QuerySet к render_table тега.

{% render_table campaigns %} 
+0

Это начало. Однако ничего не создается, т. Е. Я вижу пустую страницу (debug не показывает ошибок) – newkid101

+0

Извините, я не вижу других проблем. Ваш вопрос включает в себя множество вещей, которые вы не показывали (например, 'self.get_campaigns (ad_account.get ('id')'), поэтому проблема может быть где-то в другом месте. Попробуйте сначала получить действительно простую версию, например, учебник Например, используйте 'Campaign.objects.all() [: 10]' для набора запросов и не используйте наследование шаблонов, пока не убедитесь, что он работает). – Alasdair

+0

Ваш код не показывает ничего, что пыталось бы получить доступ к 'ad_accounts' (с 's'). В ваших представлениях и шаблонах содержится только 'ad_account'. – Alasdair